RemObjects SDK Samples for Delphi

Please keep the following things in mind when working with the samples:

Getting Started

Most of the samples provide a project group containing server and client projects. The standard procedure for testing these is as follows: Having tested the sample, next examine the services provided. Do this by examining the RODL via the Service Builder tool provided:

Sample Categories

Category

Samples

Introduction

First Sample

Multi Channel

Super TCP Channel Chat

RODL (not shipped with the trial version)

Async

Auto Server

Dynamic Request (not shipped with the trial version) 

Session Types

Time Server

Channels

MegaDemo

Multi Channel

Super TCP Channel Chat

HTTP Chat

Named Pipes (not shipped with the trial version)

Web Services

xMethods

Intermediate

Arrays

Broadcast Chat

Extended File Transfer

xMethods

Named Pipes (not shipped with the trial version)

Service Discovery

Variants

Architecture

Session Types

Class Factories

DataSnap

Dispatch Notifier

Auto Server

Multi Channel

Proxy Server

Advanced

Class Factories

COM

Dispatch Notifier

Proxy Server

Sample Descriptions

Name Category Description
Arrays Intermediate This sample shows how to use TROArray for presentating DB tables in a master/detail relationship.
Async Introduction This sample shows how to call methods on a RemObjects SDK server asynchronously.
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.
Auto Server Introduction
Architecture
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).
Broadcast Chat Intermediate This example shows how to use the TROBroadcastServer and TROBroadcastChannel channels to write an UDP broadcasting chat program.
Class Factories Architecture
Advanced
This example shows how to use a Class Factory to generate three types of server:
  • Singleton: all clients access a single server object.
  • Single Call: server instances are created on demand and destroyed after processing the method call.
  • Pooled: multiple server instances are accessible by clients. This works exactly the same as Singleton, unless the first server instance is busy.

Note: to test this sample properly, you need to run at least two clients.

COM Advanced This sample shows how to call an existing RemObjects SDK server using COM.
DataSnap Architecture Standard example of the use of the TRODataSnapModule and TRODataSnapConnection components.
Dispatch Notifier Architecture
Advanced
This example shows how to customize message dispatching. IRODispatchNotifier is a special interface that TROInvoker classes know and look for.
If your server side object implements it, the IRODispatchNotifier.GetDispatchInfo method will be called before the target method is invoked.
Dynamic Request
(not shipped with the trial version)
Introduction This example shows how to use the TRODynamicRequest component to execute server methods.
Extended File Transfer Intermediate 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).
First Sample Introduction 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.
HTTP Chat Channels This shows how to use polled events to create an HTTP based chat program.
The clients poll every few seconds for new messages and the server distributes the messages to the appropriate client(s).
MegaDemo Channels This comprehensive example illustrates many of the features of the RemObjects SDK by providing benchmark facilities for the various protocols and channels supported.
Multi Channel Introduction
Channels
Architecture
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.
Named Pipes
(not shipped with the trial version)
Channels
Intermediate
This example shows the use of a named pipe connection. It creates a named pipe server as a Windows service.
Proxy Server Architecture
Advanced
This example shows how to create a proxy server to redirect the calls to another server without having to recreate the RODL file, thus allowing the use of the same types of the original server.
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.
RODL
(not shipped with the trial version)
Introduction <to follow>
Service Discovery Intermediate This sample illustrates how to use the TRODiscoveryClient and TRODiscoveryServer components.
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.
Session Types
Architecture
Introduction
This example shows the use of sessions and illustrates several SessionManagers: TROEventSessionManager,
TROInMemorySessionManager,
TROMasterServerSessionManager
and
TRODBSessionManager.
Important note: this sample needs a "Sessions" 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.
Super TCP Channel Chat Introduction
Channels
This sample shows how the Super TCP Channel can be used to create a chat server and clients.
Unlike the HTTP Chat sample, this sample doesn't poll the server but sends events back to clients directly.
Time Server Introduction This is an extremely basic sample illustrating how to use the TROBroadcastServer and TROBroadcastChannel components.
Variants Intermediate This example shows how the RemObjects SDK can transfer variants and array of variants from the client and server using the TROBinMessage and TROSOAPMessage message types.
xMethods Web Services This demo application shows how to access existing SOAP Web Services using the RemObjects SDK.

Support

If you encounter any problems or have questions regarding the samples, please feel free to ask on our newsgroup at news://news.remobjects.com/remobjects.public.sdk.delphi.

Thank you very much,
Your RemObjects Team
http://www.remobjects.com