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/

Reply via email to