J, Hope it does not break your existing code, if relies on the array to always exist ... Myles.
-----Original Message----- From: vss [mailto:[EMAIL PROTECTED] Sent: Monday, 25 August 2003 09:46 To: Multiple recipients of list delphi Subject: RE: [DUG]: Access Violations Myles I am going to try myArray=Nil and see how that goes. This might be a better option? Jeremy -----Original Message----- From: Myles Penlington <[EMAIL PROTECTED]> To: Multiple recipients of list delphi <[EMAIL PROTECTED]> Date: Mon, 25 Aug 2003 09:34:44 +1200 Subject: RE: [DUG]: Access Violations > J, > Had to check the Finalize code for my own sanity. So it is safe to call > Finalize twice on the same string array. > > I think you know this, but calling Finalize does not deallocate the > array, > just deallocates all the strings it references. So I don't really see > how it > solves your real problem - it may do as a side effect. In my opinion, > it > just appears to fix the problem. I may be crossing wires here, looking > at > part of the original post ( or is this just fixing one of the issues - > in > which case the finalize would be sufficient, may have got too far off > track) > > I have never yet had to call Finalize directly. > > Myles. > > -----Original Message----- > From: vss [mailto:[EMAIL PROTECTED] > Sent: Monday, 25 August 2003 09:06 > To: Multiple recipients of list delphi > 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/ --------------------------------------------------------------------------- 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/
