Re: [twsocket] Turbo Delphi, FastMM and V6beta question
info2004 wrote: > Hi, > > I have installed Turbo Delphi 2006, OverbyteIcsV6beta.zip, and fastMM > that I > downloaded today. You do not need FastMM since it is already built-in BDS2006, that's most likely not different in the Turbos. In order to get leak-reports set ReportMemoryLeaksOnShutdown := TRUE; for instance in the constructor of the form. Do you free the TWSocket instance or other ICS components correctly? Either drop a component on the form or create an instance at runtime instead if you use Turbo Explorer. Sample: TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); .. public MyWSocket : TWSocket; end; implementation procedure TForm1.FormCreate(Sender: TObject); begin MyWSocket := TWSocket.Create(Self); end; procedure TForm1.FormDestroy(Sender: TObject); begin MyWSocket.Free; end; -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > > When I exit my program, fastMM is creating a log. A snip of which is: > 2007/3/23 15:40:59 > > A memory block has been leaked. The size is: 452 > > Stack trace of when this block was allocated (return addresses): > 403016 [EMAIL PROTECTED] > 404577 [system.pas][System][TObject.NewInstance][8824] > 40493E [EMAIL PROTECTED] > 4045AC [system.pas][System][TObject.Create][8839] > 48EB41 > [OverbyteIcsWndControl.pas][OverbyteIcsWndControl][TIcsWndHandlerPool.GetWndHandler][1017] > 48DD7F > [OverbyteIcsWndControl.pas][OverbyteIcsWndControl][TIcsWndControl.AllocateHWnd][419] > 4939E7 > [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomWSocket.AllocateSocketHWnd][4231] > 493ACF > [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomWSocket.Create][4268] > 499420 > [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomSocksWSocket.Create][7253] > 49AFD8 > [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomLineWSocket.Create][8083] > > The block is currently used for an object of class: TIcsWndHandler > > The allocation number is: 4898 > > Current memory dump of 256 bytes starting at pointer address 131D780: > 74 DB 48 00 FC 02 5A 00 70 55 32 01 70 55 32 01 70 55 32 01 70 55 32 > 01 70 55 32 > 01 70 55 32 01 > 70 55 32 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 > 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 > 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 > 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 > 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 > 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 > 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 > 00 00 00 00 00 > t Û H . ü . Z . p U 2 . p U 2 . p U 2 . p U 2 > . p U 2 > . p U 2 . > p U 2 . . . . . . . . . . . . . . . . . . . . > . . . . > . . . . . > . . . . . . . . . . . . . . . . . . . . . . . > . . . . > . . . . . > . . . . . . . . . . . . . . . . . . . . . . . > . . . . > . . . . . > . . . . . . . . . . . . . . . . . . . . . . . > . . . . > . . . . . > . . . . . . . . . . . . . . . . . . . . . . . > . . . . > . . . . . > . . . . . . . . . . . . . . . . . . . . . . . > . . . . > . . . . . > . . . . . . . . . . . . . . . . . . . . . . . > . . . . > . . . . . > > > Now, is this 'normal' stuff, or really a leak? > > Any ideas? > > Thanks, > > Andy -- 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
Re: [twsocket] Turbo Delphi, FastMM and V6beta question
Hello Arno, I do not totally agree with you as FastMM is updated regularly so it is interesting to use updated version against original version included in BDS. Regards. AG> You do not need FastMM since it is already built-in BDS2006, AG> that's most likely not different in the Turbos. -- 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
Re: [twsocket] Turbo Delphi, FastMM and V6beta question
Dod wrote: > Hello Arno, > > I do not totally agree with you as FastMM is updated regularly so it > is interesting to use updated version against original version > included in BDS. Agreed, I just mentioned it since not everybody may be aware that it is included. -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > > Regards. > > AG> You do not need FastMM since it is already built-in BDS2006, > AG> that's most likely not different in the Turbos. -- 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
Re: [twsocket] Turbo Delphi, FastMM and V6beta question
Arno, Arno Garrels wrote: > info2004 wrote: >> Hi, >> >> I have installed Turbo Delphi 2006, OverbyteIcsV6beta.zip, and fastMM >> that I >> downloaded today. > > You do not need FastMM since it is already built-in BDS2006, > that's most likely not different in the Turbos. I did not know that. > > In order to get leak-reports set > ReportMemoryLeaksOnShutdown := TRUE; > for instance in the constructor of the form. I'll give this a go. > > Do you free the TWSocket instance or other ICS components correctly? > Either drop a component on the form or create an instance at runtime > instead if you use Turbo Explorer. I have a mixture of components dropped onto the form, and some created by a thread. The thread ones I free in the thread destructor, the ones dropped onto the main form in the IDE I thought would be cleared up by some delphi magic. Is this not the case and I have to free them implicitly? Regards, Andy > > Sample: > > TForm1 = class(TForm) > procedure FormCreate(Sender: TObject); > procedure FormDestroy(Sender: TObject); > .. > public > MyWSocket : TWSocket; > end; > > implementation > > procedure TForm1.FormCreate(Sender: TObject); > begin > MyWSocket := TWSocket.Create(Self); > end; > > procedure TForm1.FormDestroy(Sender: TObject); > begin > MyWSocket.Free; > end; > > -- > Arno Garrels [TeamICS] > http://www.overbyte.be/eng/overbyte/teamics.html > >> When I exit my program, fastMM is creating a log. A snip of which is: >> 2007/3/23 15:40:59 >> >> A memory block has been leaked. The size is: 452 >> >> Stack trace of when this block was allocated (return addresses): >> 403016 [EMAIL PROTECTED] >> 404577 [system.pas][System][TObject.NewInstance][8824] >> 40493E [EMAIL PROTECTED] >> 4045AC [system.pas][System][TObject.Create][8839] >> 48EB41 >> [OverbyteIcsWndControl.pas][OverbyteIcsWndControl][TIcsWndHandlerPool.GetWndHandler][1017] >> 48DD7F >> [OverbyteIcsWndControl.pas][OverbyteIcsWndControl][TIcsWndControl.AllocateHWnd][419] >> 4939E7 >> [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomWSocket.AllocateSocketHWnd][4231] >> 493ACF >> [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomWSocket.Create][4268] >> 499420 >> [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomSocksWSocket.Create][7253] >> 49AFD8 >> [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomLineWSocket.Create][8083] >> >> >> The block is currently used for an object of class: TIcsWndHandler >> >> The allocation number is: 4898 >> >> Current memory dump of 256 bytes starting at pointer address 131D780: >> 74 DB 48 00 FC 02 5A 00 70 55 32 01 70 55 32 01 70 55 32 01 70 55 32 >> 01 70 55 32 >> 01 70 55 32 01 >> 70 55 32 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 >> 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 >> 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 >> 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 >> 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 >> 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 >> 00 00 00 00 00 >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00 00 >> 00 00 00 00 00 >> t Û H . ü . Z . p U 2 . p U 2 . p U 2 . p U 2 >> . p U 2 >> . p U 2 . >> p U 2 . . . . . . . . . . . . . . . . . . . . >> . . . . >> . . . . . >> . . . . . . . . . . . . . . . . . . . . . . . >> . . . . >> . . . . . >> . . . . . . . . . . . . . . . . . . . . . . . >> . . . . >> . . . . . >> . . . . . . . . . . . . . . . . . . . . . . . >> . . . . >> . . . . . >> . . . . . . . . . . . . . . . . . . . . . . . >> . . . . >> . . . . . >> . . . . . . . . . . . . . . . . . . . . . . . >> . . . . >> . . . . . >> . . . . . . . . . . . . . . . . . . . . . . . >> . . . . >> . . . . . >> >> >> Now, is this 'normal' stuff, or really a leak? >> >> Any ideas? >> >> Thanks, >> >> Andy -- 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
Re: [twsocket] Turbo Delphi, FastMM and V6beta question
info2004 wrote: > I have a mixture of components dropped onto the form, and some > created by a thread. > > The thread ones I free in the thread destructor,# Note that components that shall run in worker thread context have to be created in the Execute method of TThread. Good practice is to destroy them at the end of method Execute as well. > the ones dropped > onto the main > form in the IDE I thought would be cleared up by some delphi magic. Yes that's correct. Components dropped onto a form or data module will be freed automatically when their owners, here TForm or TDatamodule are being destroyed. -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > Is this not > the case and I have to free them implicitly? > > Regards, > > Andy >> >> Sample: >> >> TForm1 = class(TForm) >> procedure FormCreate(Sender: TObject); >> procedure FormDestroy(Sender: TObject); >> .. >> public >> MyWSocket : TWSocket; >> end; >> >> implementation >> >> procedure TForm1.FormCreate(Sender: TObject); >> begin >> MyWSocket := TWSocket.Create(Self); >> end; >> >> procedure TForm1.FormDestroy(Sender: TObject); >> begin >> MyWSocket.Free; >> end; >> >> -- >> Arno Garrels [TeamICS] >> http://www.overbyte.be/eng/overbyte/teamics.html >> >>> When I exit my program, fastMM is creating a log. A snip of which >>> is: 2007/3/23 15:40:59-- >>> -- >>> A memory block has been leaked. The size is: 452 >>> >>> Stack trace of when this block was allocated (return addresses): >>> 403016 [EMAIL PROTECTED] >>> 404577 [system.pas][System][TObject.NewInstance][8824] >>> 40493E [EMAIL PROTECTED] >>> 4045AC [system.pas][System][TObject.Create][8839] >>> 48EB41 >>> [OverbyteIcsWndControl.pas][OverbyteIcsWndControl][TIcsWndHandlerPool.GetWndHandler][1017] >>> 48DD7F >>> [OverbyteIcsWndControl.pas][OverbyteIcsWndControl][TIcsWndControl.AllocateHWnd][419] >>> 4939E7 >>> [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomWSocket.AllocateSocketHWnd][4231] >>> 493ACF >>> [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomWSocket.Create][4268] >>> 499420 >>> [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomSocksWSocket.Create][7253] >>> 49AFD8 >>> [OverbyteIcsWSocket.pas][OverbyteIcsWSocket][TCustomLineWSocket.Create][8083] >>> >>> The block is currently used for an object of class: TIcsWndHandler >>> >>> The allocation number is: 4898 >>> >>> Current memory dump of 256 bytes starting at pointer address >>> 131D780: 74 DB 48 00 FC 02 5A 00 70 55 32 01 70 55 32 01 70 55 32 >>> 01 70 55 32 01 70 55 32 >>> 01 70 55 32 01 >>> 70 55 32 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 >>> 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 >>> 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 >>> 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 >>> 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 >>> 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 >>> 00 00 00 00 00 >>> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> 00 00 00 00 >>> 00 00 00 00 00 >>> t Û H . ü . Z . p U 2 . p U 2 . p U 2 . p U 2 >>> . p U 2 >>> . p U 2 . >>> p U 2 . . . . . . . . . . . . . . . . . . . . >>> . . . . >>> . . . . . >>> . . . . . . . . . . . . . . . . . . . . . . . >>> . . . . >>> . . . . . >>> . . . . . . . . . . . . . . . . . . . . . . . >>> . . . . >>> . . . . . >>> . . . . . . . . . . . . . . . . . . . . . . . >>> . . . . >>> . . . . . >>> . . . . . . . . . . . . . . . . . . . . . . . >>> . . . . >>> . . . . . >>> . . . . . . . . . . . . . . . . . . . . . . . >>> . . . . >>> . . . . . >>> . . . . . . . . . . . . . . . . . . . . . . . >>> . . . . >>> . . . . . >>> >>> >>> Now, is this 'normal' stuff, or really a leak? >>> >>> Any ideas? >>> >>> Thanks, >>> >>> Andy -- 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