Subject | Re: [IBO] Some help with thread-safe access |
---|---|
Author | Andreas Hesse |
Post date | 2008-02-03T09:13:20Z |
> Hi Guys,Create a IB_Connection (perhaps a IB_Session too) and the IB_Cursor
>
> Please a need a help,
>
> I need make a application with TIDTcpServer, TIDTcpClient and IBO, but a have a question.
>
> I need do this:
>
> 1- I have to connect to server and pass a user name
> 2- With this user name, using TIB_Cursor to find the full name of user in my table
> 3- Return the name to the client program.
>
> I dont know how do this whit IBO because OnConnect event in TIDTcpServer is mult-thread. The access to the TIB_Cursor must be thread-safe
>
> How do This
>
> Exemple:
>
>
> TMyContext = class(TIdContext)
> public
> username: string;
> end;
>
> OnConnect event:
>
> procedure TForm1.IdTCPServer1Connect(AContext: TIdContext);
> begin
>
> with TMyContext(AContext) do
> begin
> username:= strtoint(Connection.IOHandler.ReadLn);
> if (username<> '') then
> begin
> ////////////////////////
>
> I need make the select here with TIB_Cursor. 'Select fullname from mytable where user=username'
>
> but I dont know how make this access being thread-safe for each connection...please help me
>
> /////////////////////
> Connection.IOHandler.WriteLn(fullname);
> end
> else
> begin
> Connection.IOHandler.WriteLn('error');
> Connection.Disconnect;
> end;
> end;
> end;
>
> Thx for some help
>
> Alexandre
> Brazil
>
just in place und use it.
Or for quicker access use a connection pool.
Andreas