Search Results

Search found 1 results on 1 pages for 'eszee'.

Page 1/1 | 1 

  • Indy client receive string

    - by Eszee
    Im writing an Indy chat app, and am wondering if there is a way for the server component to tell the client that there is a string waiting, or even a way for the client to have an "OnExecute" like event. This is what i have now: server: procedure TServer.ServerExecute(AContext: TIdContext); var sResponse: string; I: Integer; list: Tlist; begin List := Server.Contexts.LockList; sResponse:= AContext.Connection.Socket.ReadLn; try for I := 0 to List.Count-1 do begin try TIdContext(List[I]).Connection.IOHandler.WriteLn(sResponse); except end; end; finally Server.Contexts.UnlockList; end; end; Client: procedure TForm1.Button1Click(Sender: TObject); var sMsg : string; begin Client.Socket.WriteLn(edit1.Text); sMsg := Client.Socket.ReadLn; Memo1.Lines.Add(sMsg); end; The problem is when i have 2 or more clients running the messages keep stacking because the button only processes 1 message a time. I'd like a way for the client to wait for messages and when it is triggered it processes those messages, like it does now under the button procedure. I've tried to put the "readln" part under a timer, but that causes some major problems. Im Using Delphi 2010 and Indy 10

    Read the article

1