On 8/28/2012 06:47, Bernd wrote:
The pragmatic fix to he above problem was:

procedure TConnection.OnTCPFail(ASocket: TLHandle; const Error: String);
begin
   Self._AddRef;
   FDisconnectLock.Acquire;

   [...]

   FDisconnectLock.Release;
   Self._Release;  //<-- now we will be freed exactly here!
end;

so adding that one line negates the previous .Free line(s)??

i'm still learning all this new-fangled stuff... i'm a (very) oldschool procedural coder and having things popping into and out of existence whenever they want to is something i'm still trying to wrap my head around :/ :(

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to