unit DynSQLServerMain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, uROClient, uROBINMessage, uROClientIntf, uROServer, uROIndyHTTPServer, uROIndyTCPServer, uROPoweredByRemObjectsButton, SyncObjs, uDAClasses, uDADriverManager, uDAEngine, uDAADODriver; type TDynSQLServerMainForm = class(TForm) ROMessage: TROBINMessage; ROServer: TROIndyHTTPServer; RoPoweredByRemObjectsButton1: TRoPoweredByRemObjectsButton; DADriverManager: TDADriverManager; DAConnectionManager: TDAConnectionManager; DAADODriver: TDAADODriver; Memo: TMemo; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } CriticalSection: TCriticalSection; public { Public declarations } procedure LOG(str: string); end; var DynSQLServerMainForm: TDynSQLServerMainForm; implementation {$R *.dfm} { TDynSQLServerMainForm } procedure TDynSQLServerMainForm.LOG(str: string); begin CriticalSection.Enter; try Memo.Lines.Text := str; finally CriticalSection.Leave; end; end; procedure TDynSQLServerMainForm.FormCreate(Sender: TObject); begin CriticalSection := TCriticalSection.Create; end; procedure TDynSQLServerMainForm.FormDestroy(Sender: TObject); begin CriticalSection.Free; end; end.