Marco Web Center

[an error occurred while processing this directive]

Home: Code Repository: Delphi 2009 Handbook

Project: First3Tier2009_Server.dproj

Project Structure

First3Tier2009_Server.dpr
program First3Tier2009_Server;

uses
  Forms,
  First3Tier2009_ServerMainForm in 'First3Tier2009_ServerMainForm.pas' {FormFirst3Tier2009Server},
  First3Tier2009_ServerModule in 'First3Tier2009_ServerModule.pas' {DSFirst3TierServerModule: TDSServerModule};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TFormFirst3Tier2009Server, FormFirst3Tier2009Server);
  Application.CreateForm(TDSFirst3TierServerModule, DSFirst3TierServerModule);
  Application.Run;
end.
First3Tier2009_ServerMainForm.pas
unit First3Tier2009_ServerMainForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DSCommonServer, DSServer, DSTCPServerTransport, StdCtrls;

type
  TFormFirst3Tier2009Server = class(TForm)
    DSServer1: TDSServer;
    DSTCPServerTransport1: TDSTCPServerTransport;
    DSServerClass1: TDSServerClass;
    Memo1: TMemo;
    procedure DSServerClass1GetClass(DSServerClass: TDSServerClass;
      var PersistentClass: TPersistentClass);
    procedure DSServer1Connect(DSConnectEventObject: TDSConnectEventObject);
    procedure DSServer1Disconnect(DSConnectEventObject: TDSConnectEventObject);
  private
    { Private declarations }
  public
    procedure Log (const strMsg: string);
  end;

var
  FormFirst3Tier2009Server: TFormFirst3Tier2009Server;

implementation

uses
  First3Tier2009_ServerModule;

{$R *.dfm}

procedure TFormFirst3Tier2009Server.DSServer1Connect(
  DSConnectEventObject: TDSConnectEventObject);
begin
  Log (TimeToStr (Now) + ': DSServer1Connect');
end;

procedure TFormFirst3Tier2009Server.DSServer1Disconnect(
  DSConnectEventObject: TDSConnectEventObject);
begin
  Log (TimeToStr (Now) + ': DSServer1Disconnect');
end;

procedure TFormFirst3Tier2009Server.DSServerClass1GetClass(
  DSServerClass: TDSServerClass; var PersistentClass: TPersistentClass);
begin
  Log (TimeToStr (Now) + ': DSServerClass1GetClass called');
  PersistentClass := TDSFirst3TierServerModule;
end;

procedure TFormFirst3Tier2009Server.Log(const strMsg: string);
begin
  Memo1.Lines.Add (strMsg);
end;

end.
First3Tier2009_ServerMainForm.pas.dfm
object FormFirst3Tier2009Server: TFormFirst3Tier2009Server
  Left = 0
  Top = 0
  Caption = 'First3Tier2009 Server'
  ClientHeight = 227
  ClientWidth = 438
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Memo1: TMemo
    Left = 0
    Top = 0
    Width = 438
    Height = 227
    Align = alClient
    TabOrder = 0
    ExplicitLeft = 112
    ExplicitTop = 80
    ExplicitWidth = 185
    ExplicitHeight = 89
  end
  object DSServer1: TDSServer
    OnConnect = DSServer1Connect
    OnDisconnect = DSServer1Disconnect
    AutoStart = True
    HideDSAdmin = False
    Left = 120
    Top = 176
  end
  object DSTCPServerTransport1: TDSTCPServerTransport
    PoolSize = 0
    Server = DSServer1
    BufferKBSize = 32
    Left = 224
    Top = 176
  end
  object DSServerClass1: TDSServerClass
    OnGetClass = DSServerClass1GetClass
    Server = DSServer1
    LifeCycle = 'Session'
    Left = 336
    Top = 176
  end
end
First3Tier2009_ServerModule.pas
unit First3Tier2009_ServerModule;

interface

uses
  SysUtils, Classes, DSServer, WideStrings, DBXInterbase, FMTBcd, Provider, DB,
  SqlExpr, DSCommonServer, DSTCPServerTransport;

type
  TDSFirst3TierServerModule = class(TDSServerModule)
    IBCONNECTION: TSQLConnection;
    EMPLOYEE: TSQLDataSet;
    DataSetProviderEmployee: TDataSetProvider;
  private
    { Private declarations }
  public
    function GetHello: string;
  end;

var
  DSFirst3TierServerModule: TDSFirst3TierServerModule;

implementation

{$R *.dfm}

{ TDSFirst3TierServerModule }

function TDSFirst3TierServerModule.GetHello: string;
begin
  Result := 'Hello from TDSFirst3TierServerModule at ' + TimeToStr (Now);
end;

end.
First3Tier2009_ServerModule.pas.dfm
object DSFirst3TierServerModule: TDSFirst3TierServerModule
  OldCreateOrder = False
  Height = 244
  Width = 348
  object IBCONNECTION: TSQLConnection
    ConnectionName = 'IBCONNECTION'
    DriverName = 'Interbase'
    GetDriverFunc = 'getSQLDriverINTERBASE'
    LibraryName = 'dbxint.dll'
    LoginPrompt = False
    Params.Strings = (
      'DriverName=Interbase'

              'Database=C:\Program Files\Common Files\CodeGear Shared\Data\Empl' +
        'oyee.GDB'
      'RoleName=RoleName'
      'User_Name=sysdba'
      'Password=masterkey'
      'ServerCharSet='
      'SQLDialect=3'
      'ErrorResourceFile='
      'LocaleCode=0000'
      'BlobSize=-1'
      'CommitRetain=False'
      'WaitOnLocks=True'
      'Interbase TransIsolation=ReadCommited')
    VendorLib = 'GDS32.DLL'
    Left = 42
    Top = 26
  end
  object EMPLOYEE: TSQLDataSet
    CommandText = 'EMPLOYEE'
    CommandType = ctTable
    DbxCommandType = 'Dbx.Table'
    MaxBlobSize = -1
    Params = <>
    SQLConnection = IBCONNECTION
    Left = 93
    Top = 101
  end
  object DataSetProviderEmployee: TDataSetProvider
    DataSet = EMPLOYEE
    Left = 176
    Top = 56
  end
end
HTML file generated by PasToWeb, a tool by Marco Cantù
Copyright 2008 Marco Cantù