Subject Some help with thread-safe access
Author ARP
Hi Guys,

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

[Non-text portions of this message have been removed]