- Recompilación de RO para poner RemObjects_Core_D10 como paquete de runtime/designtime. git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@3 b6239004-a887-0f4b-9937-50029ccdca16
395 lines
14 KiB
HTML
395 lines
14 KiB
HTML
<html>
|
|
<head>
|
|
<link rel="stylesheet" type="text/css" href="styles.css">
|
|
</head>
|
|
<body>
|
|
<img src="..\ro.png" alt="" align="right">
|
|
|
|
<!-------------------------------------------------------------------------->
|
|
|
|
<h2 class="h1">
|
|
RemObjects SDK Samples for Delphi
|
|
</h2>
|
|
<p>
|
|
Please keep the following things in mind when working with the samples:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
To help you find the sample you need and also to provide a suggested start order,
|
|
the samples are listed in one or more categories followed by the actual sample descriptions
|
|
in alphabetical order. </li>
|
|
<li>There may be samples shipped that are not listed below.
|
|
Samples are not added to the list until they have passed our final quality inspection.
|
|
This doesn't mean they are faulty, only that they are still pending final inspection. </li>
|
|
</ul>
|
|
|
|
<h2 class="h1">
|
|
<span style="font-size: 14pt">Getting Started</span></h2>
|
|
Most of the samples provide a project group containing server and client projects.
|
|
The standard procedure for testing these is as follows:
|
|
<ul>
|
|
<li>Build or compile both projects.</li>
|
|
<li> Ensure that the server is the current project. <strong>Note:</strong> if there is
|
|
only one RemObjects SDK server contained within the project group, this step is
|
|
not needed because the next step will still work even if the lient is the current
|
|
project. </li><li> Launch the server (IDE menu: <b>RemObjects | Launch Server Executable</b>).</li>
|
|
<li> Examine the server window. Some samples require that you activate one or more channels.</li>
|
|
<li> Make the client the current project.</li>
|
|
<li> Run the client.</li>
|
|
</ul>
|
|
Having tested the sample, next examine the services provided. Do this by examining the RODL
|
|
via the <b> Service Builder</b> tool provided:
|
|
<ul>
|
|
<li> Ensure that the server is the current project.</li>
|
|
<li> Open the Service Builder (IDE menu: <b>RemObjects | Edit Service Library</b>).</li>
|
|
</ul>
|
|
<!==========================================================================><h2 class="h1">
|
|
<span style="font-size: 14pt">Sample Categories</span></h2>
|
|
<ul>
|
|
<li>Some samples are shown below in more than one category.</li>
|
|
<li>The <strong>Dynamic Request</strong>, <strong>RODL</strong> and <strong>Named Pipe</strong> samples do not ship with
|
|
the trial version of the RemObjects SDK.
|
|
</ul>
|
|
<table border="1" style="WIDTH: 100%" cellspacing="0" cellpadding="5"><tbody>
|
|
<tr>
|
|
<th style="WIDTH: 50%"><p>Category </p></th>
|
|
<th style="WIDTH: 50%"><p>Samples </p></th>
|
|
</tr>
|
|
<tr>
|
|
<td>Introduction</td>
|
|
<td>
|
|
<p> First Sample </p>
|
|
<p>Multi Channel</p>
|
|
<p> Super TCP Channel Chat </p>
|
|
<p> RODL <span style="color: #ff0000">(not shipped with the trial version)</span></p>
|
|
<p> Async </p>
|
|
<p> Auto Server </p>
|
|
<p> Dynamic Request <span style="color: #ff0000">(not shipped with the trial version)</span> </p>
|
|
<p> Session Types </p>
|
|
<p>
|
|
<strong><span style="color: #ff0000"></span></strong>Time Server
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Channels</td>
|
|
<td>
|
|
<p> MegaDemo </p>
|
|
<p> Multi Channel </p>
|
|
<p> Super TCP Channel Chat </p>
|
|
<p> HTTP Chat </p>
|
|
<p> Named Pipes <span style="color: red">(not shipped with the trial version)</span></p>
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Web Services</td>
|
|
<td>
|
|
<p> xMethods </p>
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Intermediate</td>
|
|
<td>
|
|
<p> Arrays</p>
|
|
<p>
|
|
Broadcast Chat
|
|
</p>
|
|
<p> Extended File Transfer </p>
|
|
<p> xMethods </p>
|
|
<p> Named Pipes <span style="color: #ff0000">(not shipped with the trial version)</span></p>
|
|
<p> Service Discovery </p>
|
|
<p> Variants </p>
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Architecture</td>
|
|
<td>
|
|
<p> Session Types </p>
|
|
<p>
|
|
<strong><span style="color: #ff0000"></span></strong>Class Factories
|
|
</p>
|
|
<p> DataSnap </p>
|
|
<p> Dispatch Notifier </p>
|
|
<p> Auto Server </p>
|
|
<p> Multi Channel </p>
|
|
<p> Proxy Server </p>
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Advanced</td>
|
|
<td>
|
|
<p> Class Factories </p>
|
|
<p> COM </p>
|
|
<p> Dispatch Notifier </p>
|
|
<p> Proxy Server </p>
|
|
</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
|
|
<!==========================================================================><h2 class="h1">
|
|
<span style="font-size: 14pt">Sample Descriptions</span></h2>
|
|
<table border="2" cellpadding=8 cellspacing=0 style="WIDTH: 100%"><tbody>
|
|
<tr>
|
|
<th style="WIDTH: 20%">Name</th>
|
|
<th style="WIDTH: 15%">Category</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>
|
|
Arrays</td>
|
|
<td>
|
|
Intermediate</td>
|
|
<td>
|
|
This sample shows how to use TROArray for presentating DB tables in a master/detail
|
|
relationship.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Async</td>
|
|
<td>Introduction</td>
|
|
<td>This sample shows how to call methods on a RemObjects SDK server asynchronously.<br>
|
|
There may be times where you want to submit a request for information and defer receiving the result
|
|
until a bit later. A very simple calculation (Sum) is performed,
|
|
but this has a built in ten second delay so that it is possible to query the
|
|
server before the calculation is completed.<br>
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Auto Server</td>
|
|
<td>Introduction<br>Architecture</td>
|
|
<td>This sample shows how a client can control its server when they are both running locally.
|
|
This is useful if you want to provide a simple standard alone solution which is easily
|
|
upgraded to multi-tier (or you might want to provide both options).
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Broadcast Chat</td>
|
|
<td>Intermediate</td>
|
|
<td>
|
|
This example shows how to use the <strong>TROBroadcastServer</strong> and <strong>TROBroadcastChannel</strong>
|
|
channels to write an <strong>UDP</strong> broadcasting chat program.</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Class Factories</td>
|
|
<td>Architecture<br>Advanced</td>
|
|
<td>
|
|
This example shows how to use a <strong>Class Factory </strong>to generate three
|
|
types of server:<ul>
|
|
<li><strong>Singleton</strong>: all clients access a single server object. </li>
|
|
<li><strong>Single Call</strong>: server instances are created on demand and destroyed
|
|
after processing the method call. </li>
|
|
<li><strong>Pooled</strong>: multiple server instances are accessible by clients. This
|
|
works exactly the same as Singleton, unless the first server instance is busy.</li></ul>
|
|
<p>
|
|
<strong>Note</strong>: to test this sample properly, you need to run at least two
|
|
clients.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>COM</td>
|
|
<td>Advanced</td>
|
|
<td>
|
|
This sample shows how to call an existing RemObjects SDK server using COM.</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>DataSnap</td>
|
|
<td>Architecture</td>
|
|
<td>
|
|
Standard example of the use of the <b>TRODataSnapModule</b> and <b>TRODataSnapConnection</b>
|
|
components.</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Dispatch Notifier</td>
|
|
<td>Architecture<br>Advanced</td>
|
|
<td>
|
|
This example shows how to customize message dispatching. <strong>IRODispatchNotifier</strong>
|
|
is a special interface that <strong>TROInvoker</strong> classes know and look for.
|
|
<br />
|
|
If your server side object implements it, the IRODispatchNotifier.GetDispatchInfo
|
|
method will be called before the target method is invoked.</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Dynamic Request<br />
|
|
<span style="color: #ff0000">(not shipped with the trial version)</span></td>
|
|
<td>Introduction</td>
|
|
<td>
|
|
This example shows how to use the <b>TRODynamicRequest</b> component to execute
|
|
server methods.</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Extended File Transfer</td>
|
|
<td>Intermediate</td>
|
|
<td>
|
|
This example shows how to transfer files to and from a RemObjects SDK Server in
|
|
chunks and how to monitor new files via server events. Note: needs at least two
|
|
clients open. File(s) uploaded from one client are downloaded to the other(s).</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>First Sample</td>
|
|
<td>Introduction</td>
|
|
<td>
|
|
This sample provides an introduction to using the Delphi edition of the RemObjects SDK product.
|
|
The example shows how to define/implement methods on the server and how to access them from the client.
|
|
The data consists of name information and four simple methods are provided by the
|
|
service: Nicknames, VerifyName, CheckName and FullNames.
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>HTTP Chat</td>
|
|
<td>Channels</td>
|
|
<td>
|
|
This shows how to use polled events to create an HTTP based chat program.
|
|
<br />
|
|
The clients poll every few seconds for new messages and the server distributes the
|
|
messages to the appropriate client(s).</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>MegaDemo</td>
|
|
<td>Channels</td>
|
|
<td>This comprehensive example illustrates many of the features of the RemObjects SDK by
|
|
providing benchmark facilities for the various <strong>protocols</strong> and
|
|
<strong>channels</strong> supported.
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Multi Channel</td>
|
|
<td>Introduction<br>Channels<br>Architecture</td>
|
|
<td>This example provides an introduction to using the Delphi edition of the RemObjects SDK product.
|
|
It shows how to use different channels to connect to the server application.
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Named Pipes
|
|
<br />
|
|
<span style="color: #ff0000">(not shipped with the trial version)</span></td>
|
|
<td>Channels<br>Intermediate</td>
|
|
<td>This example shows the use of a named pipe connection.
|
|
It creates a named pipe server as a <strong>Windows service</strong>.
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Proxy Server</td>
|
|
<td>Architecture<br>Advanced</td>
|
|
<td>This example shows how to create a proxy server to redirect the calls to another
|
|
server without having to recreate the <strong>RODL</strong> file, thus allowing the use of the same types
|
|
of the original server.<br>
|
|
This provides total control. As every call will pass from the proxy class before going to the real server,
|
|
you can even stop methods from being dispatched any further.
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>RODL<br />
|
|
<span style="color: #ff0000">(not shipped with the trial version)</span></td>
|
|
<td>Introduction</td>
|
|
<td>
|
|
<em><to follow></em></td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Service Discovery</td>
|
|
<td>Intermediate</td>
|
|
<td>This sample illustrates how to use the <strong>TRODiscoveryClient</strong> and <strong>
|
|
TRODiscoveryServer</strong> components.
|
|
<br />
|
|
Each instance of the application acts both as a server and as a client.
|
|
For the server, you can modify the list of services supported on the right-hand side, while for the client you can enter a service name and get a list of the servers available on your LAN to support it.
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Session Types<br />
|
|
<span style="color: red"></span></td>
|
|
<td>Architecture<br>Introduction</td>
|
|
<td>
|
|
This example shows the use of sessions and illustrates several SessionManagers: <b>TROEventSessionManager,
|
|
<br />
|
|
TROInMemorySessionManager,<br />
|
|
TROMasterServerSessionManager</b> and
|
|
<br />
|
|
<b>TRODBSessionManager</b>.
|
|
<br />
|
|
<b><span style="color: red">I</span><span style="color: red">mportant note</span>:</b> this sample needs a "<strong>Sessions"</strong> table to be created in one of your databases.
|
|
By default, the sample looks for the Sessions table in MSSQL's Northwind Database,
|
|
but you can easily change to connect to any other database.
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>
|
|
Super TCP Channel Chat</td>
|
|
<td>Introduction<br>Channels</td>
|
|
<td>
|
|
This sample shows how the <strong>Super TCP Channel</strong> can be used to create
|
|
a chat server and clients.
|
|
<br />
|
|
Unlike the HTTP Chat sample, this sample <strong>doesn't poll the server</strong>
|
|
but sends events back to clients directly.
|
|
</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Time Server</td>
|
|
<td>Introduction</td>
|
|
<td>
|
|
This is an extremely basic sample illustrating how to use the <b>TROBroadcastServer</b>
|
|
and <b>TROBroadcastChannel</b> components.</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>Variants</td>
|
|
<td>Intermediate</td>
|
|
<td>
|
|
This example shows how the RemObjects SDK can transfer <strong>variants </strong>
|
|
and <strong>array of variants</strong> from the client and server using the <strong>
|
|
TROBinMessage</strong> and <strong>TROSOAPMessage</strong> message types.</td>
|
|
</tr>
|
|
<!---------------------------------------------->
|
|
<tr>
|
|
<td>xMethods</td>
|
|
<td>Web Services</td>
|
|
<td>
|
|
This demo application shows how to access existing <b>SOAP Web Services</b> using
|
|
the <b>RemObjects SDK</b>.</td>
|
|
</tr>
|
|
</tbody></table>
|
|
<br />
|
|
<span style="font-size: 14pt"><strong> </strong></span>
|
|
<h2>
|
|
<span style="font-size: 14pt"><strong>Support</strong></span></h2>
|
|
<p>
|
|
If you encounter any problems or have questions regarding the samples, please feel
|
|
free to ask on our newsgroup at <a href="news://news.remobjects.com/remobjects.public.sdk.delphi">
|
|
news://news.remobjects.com/remobjects.public.sdk.delphi</a>.
|
|
</p>
|
|
<p>
|
|
Thank you very much,<br />
|
|
Your RemObjects Team<br />
|
|
<a href="http://www.remobjects.com">http://www.remobjects.com</a>
|
|
</p>
|
|
</body>
|
|
</html> |