Hej igen. Følgende er nupset fra support-mailing listen:
This is correct. In your OnClose event [for socket komponenten] you have to post a windows message. In your message handler you can safe destroy the sockets.
const WM_CLOSECLIENT = WM_APP + 1;
//*********
procedure TProxyClient.RemoteClosed(Sender: TObject; Error: Word); begin // Sender is RemoteSocket which is needed to be closed PostMessage(Form1.Handle, WM_CLOSECLIENT, integer(Sender), 0); end;
procedure TForm1.WmCloseClinet(var msg: TMessage); begin TProxyClient(msg.WParam).Free; //frigiv komponenten - nu er det nemlig sikkert. end;
Bemærk at eksemplet er fra en proxy-server, men fremgangsmåden er den samme. TProxyClient er nedarvet fra en WSocket, og opfører sig derfor på samme måde som en sådan.
hvis det nu ikke er en visuel component man bruger, og ikke i en Form, men i sin egen klasse.. hvad så med den Form1.Handle - hvad gør man ved den? /hvad skal man bruge der.. :)
Jeg har lige en ting mere... den declaration i "form1" virker ikke helt - den siger ihvertfald error in declaration...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.