Hi John, >From memory (pun unintended) those 2 reported links are normal. As i recall >reading somewhere (I thought it was the FAQ File for FastMM, but just had a >very quick check and couldn't see it mentioned) that it is normal for those 2 >items to be reported as memory leaks when doing the FullDebugMode.
As i have the same leaks reported on my programs when debugging. Cheers Anthony. From: delphi-boun...@delphi.org.nz [mailto:delphi-boun...@delphi.org.nz] On Behalf Of John Bird Sent: Wednesday, 3 March 2010 12:09 p.m. To: NZ Borland Developers Group - Delphi List Subject: [DUG] FastMM I decided to try some memory leak testing on a couple of programs to be sure all is OK, and after googling figured that even though I have d2007 the best was to download FastMM4 from source forge This is what I figured to do to run the tests - anyone can correct me if I am wrong: 1 - Add Uses FastMM in ...\Components\FastMM\FastMM4.pas as the first used unit in the .DPR file. note I just edited the .DPR file manually. 2 - in the main form create add a line ReportMemoryLeaksOnShutdown := true; //#### FastMM diagnostics if enabled 3 - Edit the FastMM4Options.Inc file to set get an error on startup.} {$define FullDebugMode} [Note the program is a lot slower with this in] 4 - Add to Project compile options Debug Dcu's, generate debug info, local symbols, reference info, use debug DCU's Add to Project link options include TD32 debug info I know not all of these are needed, but not being sure which I just turned them all on. 5 - I found I had to add to each project search path ..\Components\FastMM otherwise it could not find FastMM4Messages.pas or FastMM4Messages.dcu even though that folder was in the IDE global setting Tools/Options/Delphi options/Library - Win32/Browsing Path All that done, to my relief I got a message that the only leaks were one TFileStream, and one AnsiString "This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer): 5 - 12 bytes: TFileStream x 1 21 - 36 bytes: AnsiString x 1 Note: Memory leak detail is logged to a text file in the same folder as this application. To disable this memory leak check, undefine "EnableMemoryLeakReporting"." This program does open and close a lot of files with TFileStream, (note I do all my fileopens with a library routine that also saves a reference number, the open mode, and the filename, and so far they all seem to be closed properly- but I am checking to be sure). I haven't yet figured out the culprit, anyone have any hints on how to track them down, puzzled at the Ansistring one - what does that mean, as I thought strings do not get memory leaks, being reference counted. There are certainly way more than one string in the project. Also I got a garbaged Project file - ended up with lines like: <DCCReference Include="..\CFastMM.Pas" /> <DCCReference Include="..\CoFastMM.Pas" /> <DCCReference Include="..\ComFastMM.Pas" /> <DCCReference Include="..\CompFastMM.Pas" /> <DCCReference Include="..\CompoFastMM.Pas" /> <DCCReference Include="..\ComponeFastMM.Pas" /> <DCCReference Include="..\ComponeneFastMM.Pas" /> <DCCReference Include="..\ComponenenFastMM.Pas" /> <DCCReference Include="..\ComponenentFastMM.Pas" /> <DCCReference Include="..\ComponenentsFastMM.Pas" /> <DCCReference Include="..\ComponenFastMM.Pas" /> <DCCReference Include="..\ComponenntsFastMM.Pas" /> <DCCReference Include="..\ComponentFastMM.Pas" /> <DCCReference Include="..\ComponentsFastMM.Pas" /> <DCCReference Include="..\Components\FaFastMM.Pas" /> <DCCReference Include="..\Components\FasFastMM.Pas" /> <DCCReference Include="..\Components\FastFastMM.Pas" /> <DCCReference Include="..\Components\FastMFastMM.Pas" /> <DCCReference Include="..\Components\FastMM.Pas" /> <DCCReference Include="..\Components\FastMMFastMM.Pas" /> <DCCReference Include="..\Components\FastMM\FastMM.Pas" /> <DCCReference Include="..\Components\FastMM\FastMM4.Pas" /> <==== this is the right one <DCCReference Include="..\Components\FFastMM.Pas" /> <DCCReference Include="..\ComponFastMM.Pas" /> <DCCReference Include="..\FastMM.Pas" /> Anyone come across this? Is it from anything I did wrong? John
_______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: delphi@delphi.org.nz Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: unsubscribe