J Also from the help "Dynamic arrays can never be deallocated using the Dispose procedure, but can be freed by passing them to Finalize."
Its an alternative to SetLength(D,0) N ----- Original Message ----- From: "vss" <[EMAIL PROTECTED]> To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]> Sent: Monday, August 25, 2003 9:06 AM Subject: RE: [DUG]: Access Violations > Well, with out it, the memory usage increased...I am runing some tool, > forget what its called, and it tells you how much mem its using. > Also from the Help :- > > Finalize simply sets all long strings to empty and all variants and > interfaces to Unassigned, thus properly releasing any memory that was > referenced by the long strings and variants. > > The Dyn. Array is just arrays of strings sho this should be ok. > > Jeremy > > -----Original Message----- > From: Myles Penlington <[EMAIL PROTECTED]> > To: Multiple recipients of list delphi <[EMAIL PROTECTED]> > Date: Mon, 25 Aug 2003 08:23:05 +1200 > Subject: RE: [DUG]: Access Violations > > > Huh? > > Set array to zero? You mean length? The normal method is to assign nil > > to > > the array variable. > > Have never investigated the effect of using Finalize twice ... If > > finalize > > actually sets the fields to nil/binary zero would be okay. > > Hope it's not hiding the real problem or it may be pointing to the > > actual > > source of the real problem - invalid cast on dynamic array reference? > > Myles. > > > > -----Original Message----- > > From: Jeremy Coulter [mailto:[EMAIL PROTECTED] > > Sent: Monday, 25 August 2003 07:56 > > To: Multiple recipients of list delphi > > Subject: RE: [DUG]: Access Violations > > > > > > Hmm...well, if I have to set the array to zero, then I might as well > > use > > Finalize. > > Either wau, by usig Finalize, the problems have gone away, so it must > > hae helped. > > > > Jeremy > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > > Behalf Of Myles Penlington > > Sent: Friday, 22 August 2003 20:22 > > To: Multiple recipients of list delphi > > Subject: RE: [DUG]: Access Violations > > > > > > Should not have to use finalize - it is done automatically for dynamic > > arrays, once there reference count drops to zero. Myles > > > > -----Original Message----- > > From: vss [mailto:[EMAIL PROTECTED] > > Sent: Thursday, 21 August 2003 10:16 > > To: Multiple recipients of list delphi > > Subject: RE: [DUG]: Access Violations > > > > > > Just going thru the code, and the guy who wrote some of the core > > functions used Dynamic arrays in quite a few places, BUT here never > > uses > > > > Finalize() when he has finished with the array ! infact, it just stays > > allocated ! > > Some of these functions are call quite a lot of times too ! > > > > Looks like a start ! > > > > Jeremy > > > > -----Original Message----- > > From: Myles Penlington <[EMAIL PROTECTED]> > > To: Multiple recipients of list delphi <[EMAIL PROTECTED]> > > Date: Thu, 21 Aug 2003 09:36:59 +1200 > > Subject: RE: [DUG]: Access Violations > > > > > Your AV trace stuff is not very good - the call stack does not make > > > sense. > > > > > > However, the address given would appear to be a nil object reference > > > (or an > > > array?) - ie 0 + objectfieldoffset (Of a rather large object) ie 267 > > > bytes from the object base. > > > > > > We have had the SQL general network error problem ($80000045 from > > > memory), and the root cause was corrupted memory in our application - > > > invalid variants and WideStrings - note this is important. Ie it was > > > not a problem > > > with the SQL box, but rather issues in our code. And the app did not > > > fall > > > apart straight away. ie could take several minutes before it gave the > > > error > > > in the end. > > > > > > We ended up using some tools like BoundsChecker etc to test the app. > > > But even with these it was very had to find. These in essence ruled > > > out all the > > > basic stuff, but did not locate the exact error - just narrowed down > > > the > > > area. > > > > > > Myles. > > > > > > -----Original Message----- > > > From: vss [mailto:[EMAIL PROTECTED] > > > Sent: Wednesday, 20 August 2003 16:05 > > > To: Multiple recipients of list delphi > > > Subject: [DUG]: Access Violations > > > > > > > > > Hi All. > > > An app. I wrote every now and then gets a GPF. > > > I am almost certain that the problem is related to or MSSQL box > > > because every now and again we get general network errors, but its > > not > > > > > very consistant, and our engineers dont seem to believe us ! I run > > > "eXpress Application Manager" AV stuff which gives me some res. > > > information, BUT I think the error below is really being caused > > > somewhere else or as a result of something else like the SQL box > > > problem above. > > > BUT can someone look at it and tell me if it is not something else? > > > The Other reason I am sceptical is that 2 users were in 2 different > > > parts of the app, and they both got the same error at the same > > > time...well thats the story "I" got :-) > > > > > > Jeremy > > > > > > # 20/08/2003 09:31:12 [ EXCEPT ] Type : EAccessViolation ( > > > EExternal ) > > > Unit : Controls > > > Line : 10478 > > > Class : <N/A> > > > Function : InitIMM32 > > > Address : 0x00482581 > > > Sender Class : <N/A> > > > Sender Name : <N/A> > > > Message : Access violation at > > > address 00482581 in module 'ComCare.exe'. Read of address 0000010B > > > Call Stack : DBConsts::DateUtils > > > > > > SqlTimSt::TSQLTimeStampData.DoSubtract > > > > > > SqlTimSt::TSQLTimeStampData.Compare > > > > > > SqlTimSt::TSQLTimeStampData.DoAdd > > > > > > IniFiles::TCustomIniFile.ReadInteger > > > > > > Forms::TApplication.ActivateHint > > > > > > MultiMon::_GetSystemMetrics > > > System::TextOut > > > > > > System::@HandleAutoException > > > > > > System::@InitializeArray > > > > > > SysUtils::ValidateTimeStamp > > > SysUtils::FormatBuf > > > System::TextOut > > > System::ToLongPath > > > System::ToLongPath > > > ImgList::Forms > > > > > Forms::HintMouseThread > > > > > > Forms::TScreen.GetMetricSettings > > > ImgList::Forms > > > > > > StdCtrls::TListBoxStrings.Get > > > > > > Forms::TApplication.ActivateHint > > > > > > MultiMon::_GetSystemMetrics > > > System::TextOut > > > System::@Assign > > > > > > System::@WStrFromPWChar > > > > > > F_XAM_Log::TfmXAMLog.FormCreate > > > IniFiles::F_XAM_Log > > > <Unknown>::<Unknown> > > > Variants::VarOpRare > > > <Unknown>::<Unknown> > > > > > > > > ---------------------------------------------------------------------- > > > - > > > ---- > > > New Zealand Delphi Users group - Delphi List - > > [EMAIL PROTECTED] > > > Website: http://www.delphi.org.nz > > > To UnSub, send email to: [EMAIL PROTECTED] > > > with body of "unsubscribe delphi" > > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > > > > ----------------------------------------------------------------------- > > > ---- > > > New Zealand Delphi Users group - Delphi List - > > [EMAIL PROTECTED] > > > Website: http://www.delphi.org.nz > > > To UnSub, send email to: [EMAIL PROTECTED] > > > with body of "unsubscribe delphi" > > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > > > ----------------------------------------------------------------------- > > - > > --- > > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > > Website: http://www.delphi.org.nz > > To UnSub, send email to: [EMAIL PROTECTED] > > with body of "unsubscribe delphi" > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > ----------------------------------------------------------------------- > > - > > --- > > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > > Website: http://www.delphi.org.nz > > To UnSub, send email to: [EMAIL PROTECTED] > > with body of "unsubscribe delphi" > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > > > ----------------------------------------------------------------------- > > ---- > > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > > Website: http://www.delphi.org.nz > > To UnSub, send email to: [EMAIL PROTECTED] > > with body of "unsubscribe delphi" > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > ----------------------------------------------------------------------- > > ---- > > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > > Website: http://www.delphi.org.nz > > To UnSub, send email to: [EMAIL PROTECTED] > > with body of "unsubscribe delphi" > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > -------------------------------------------------------------------------- - > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > Website: http://www.delphi.org.nz > To UnSub, send email to: [EMAIL PROTECTED] > with body of "unsubscribe delphi" > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz To UnSub, send email to: [EMAIL PROTECTED] with body of "unsubscribe delphi" Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
