I have an Access Violation at address 00000, I googled on this and found
that this means a reference to a null.

Basically I have implemented my Application based on "ThrdSrvV2_1" demo
project,

The problem happens as Follows: The Client connects to the Server, then
requests data,
I then Close the Client Application (Terminate / end task).

the server then runs into this Routine: I am not sure where the Error is
precisely, I think it is when the Windows Message gets processed.
inside the "Forms unit" of delphi.

Any Ideas.

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*}
{ We have to attach client socket to this thread's context and then
}
{ process messages so that TWSocket events works.
}
procedure TClientThread.Execute;
begin
    if not Assigned(WSocket) then
        Exit;

    { Attach client socket to this thread
}
    WSocket.ThreadAttach;
    { Signal main thread that we've attached socket to this thread
}
    ThreadAttached := TRUE;
    { Now let main thread continue starting the connection.
}
    { This little avoid race condition.
}
    Sleep(0);
    { Let's block on critical section already owned by main thread
}
    EnterCriticalSection(FCritSect);
    LeaveCriticalSection(FCritSect);
    { Then process messages until WM_QUIT message is posted.
}
    { TWSocket is event-driven. So even when used within a thread, we
}
    { have to have a "message pump". Any message pump will do and there
}
    { is one built in TWSocket, so use it !
}
    WSocket.MessageLoop;
    { Be sure to have main thread waiting for termination before
terminating}
    Sleep(0);
    { Detach the hidden window from within the thread
}
    WSocket.ThreadDetach;
end;
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to