Hello wayne,

Yes you probably access an object that never has created, or there is
some pointer overwritten. When you have the exception view the call
stack window to go to the offending code.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

Wednesday, February 6, 2008, 09:32, wayne forrest wrote:

> 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