> > in my application, i still have that damn RetrDataSent triggered before > > RetrSessionConnected... > > Have you tried to assign the DataStream in FtpServer1GetProcessing? > DelayedSend := TRUE; > MyClient.FWorkerThread.Client.DataStream := TMemoryStream.Create; > MyClient.FWorkerThread.Resume; > Sleep(0);
alas yes ! i've done it liek this : MyClient.datastream:=TMemoryStream.Create; but, i'm not pretty sure it may have to do w/ the RetrDataSent event... as i can see, it's like if the client data socket receives a WM_ASYNSELECT with the FD_WRITE and that it still has the OnDataSent event set to ClientRetrDataSent. below is the procedure that sets this event. procedure TFtpServer.ClientPassiveSessionAvailable(Sender : TObject; AError : Word); var HSocket : TSocket; Client : TFtpCtrlSocket; Data : TWSocket; begin [...] end else if Client.CurCmdType in [ftpcRETR, ftpcLIST, ftpcNLST, ftpcMLSD] then begin { angus V1.41 } Client.DataSocket.OnSessionConnected := ClientRetrSessionConnected; Client.DataSocket.OnSessionClosed := ClientRetrSessionClosed; Client.DataSocket.OnDataAvailable := nil; Client.DataSocket.OnDataSent := ClientRetrDataSent; [...] it seems to be a combination of that settings plus a message above that triggers the OnRetrDataSent... can't see WHY ! i'm not that familiar with ics design to be able to play around with such messages... all i know is that i've been using the same code that the demo, included it within a service (with no visual forms or anything like that), that i'm using some SQL stuff (Zeos) to access a MySQL DB... and that's all... i don't think that Zeos can be involved, because a message is always sent to a specific handle, a known one... but the riddle is that doing the same application (the sample) doesn't have the same effect... i'm really puzzled.... Guillaume MAISON ----- Guillaume MAISON - [EMAIL PROTECTED] 83, Cours Victor Hugo 47000 AGEN Tél : 05 53 87 91 48 - Fax : 05 53 68 73 50 e-mail : [EMAIL PROTECTED] - Web : http://nauteus.com -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be