Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 14 total
Thread Access violation while calling ATable.SetRange
Sat, Jan 23 2010 2:14 PMPermanent Link

"Malcolm"
D2009 EDB 2.03 b7(u)

This one has got me stumped for now.
I am getting the error:
Access violation at address 00624078 in module 'DiveRecorder.exe'.
Read of address 00000000.

Usually that type of address means I am accessing an object that no
longer exists.  But why would a simple table.SetRange([f1, f2], [,f1,
f2]) throw such an error when the f1 and f2 values are valid in the
debugger and the correct Index is set?

MadExcept (clipped and with some line wrapping) says:

....
compiled with     : Delphi 2009
madExcept version : 3.0k
callstack crc     : $317bce9c, $47a435b3, $9606c0f3
count             : 3
exception number  : 1
exception class   : EEDBError
exception message : Access violation at address 00624078 in module
'DiveRecorder.exe'. Read of address 00000000.

main thread ($318):
0066bf1b +06b DiveRecorder.exe edbcomps          TEDBTable.ApplyRange
0066bf91 +031 DiveRecorder.exe edbcomps          TEDBTable.SetRange
0099432e +422 DiveRecorder.exe Entries       706
TEntriesForm.ChangeEvent
00993dcb +39b DiveRecorder.exe Entries       639
TEntriesForm.ChangeMeet
0099187f +253 DiveRecorder.exe Entries       318 TEntriesForm.FormShow
0050ea49 +015 DiveRecorder.exe Forms             TCustomForm.DoShow
00512ecd +0a9 DiveRecorder.exe Forms
TCustomForm.CMShowingChanged
004f5612 +2d2 DiveRecorder.exe Controls          TControl.WndProc
004f9b23 +513 DiveRecorder.exe Controls          TWinControl.WndProc
0050f3ec +594 DiveRecorder.exe Forms             TCustomForm.WndProc
004f5238 +024 DiveRecorder.exe Controls          TControl.Perform
004f8fe5 +10d DiveRecorder.exe Controls
TWinControl.UpdateShowing
004f90f4 +0bc DiveRecorder.exe Controls
TWinControl.UpdateControlState
....

disassembling:
[...]
0066bf0b   jnz     loc_66bf20
0066bf0d   mov     ecx, ebx
0066bf0f   mov     dl, 1
0066bf11   mov     eax, [$65dd68]
0066bf16   call    -$9df7 ($662124)       ; edbcomps.EEDBError.Create
0066bf1b > call    -$266d2c ($4051f4)     ; System.@RaiseExcept
0066bf20   call    -$266c6d ($4052b8)     ; System.@DoneExcept
0066bf25   pop     edi
0066bf26   pop     esi
0066bf27   pop     ebx
0066bf28   pop     ebp
[...]

When I ignore the error it seems(!) to run just fine!

Any insights welcome.

--
Mon, Jan 25 2010 6:16 AMPermanent Link

"Malcolm"
Update:

While trying to debug this it quickly became apparent that the AV was
only triggered if the SetRange returned some rows.

In order to allow a national championship to proceed I cludged it by
dropping a:
 SetRange([0,0]', [0,0]);
immediately before the actual SetRange.

But I have still not found my bug so any insight into what might
casue edbcomps.ApplyRange to throw an AV reading address 00000000
will be most welcome.

Malcolm
Mon, Jan 25 2010 8:44 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Malcolm,

<< This one has got me stumped for now.
I am getting the error:
Access violation at address 00624078 in module 'DiveRecorder.exe'. Read of
address 00000000. >>

Can you send me the database and table that you're using, along with a range
that replicates this ?

I'm pretty sure that this is fixed, but I want to make sure before I release
build 8.  There was a performance improvement added to the ranges/filters in
build 7, but it broke a couple of areas also.

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Jan 26 2010 12:12 PMPermanent Link

"Malcolm"
Tim Young +AFs-Elevate Software+AF0- wrote:

+AD4- Can you send me the database and table that you're using, along
+AD4- with a range that replicates this ?
+AD4-
+AD4- I'm pretty sure that this is fixed, but I want to make sure
before
+AD4- I release build 8.  There was a performance improvement added to
+AD4- the ranges/filters in build 7, but it broke a couple of areas
also.

Tim

I don't see how I can replicate the AV just in SQL.  So I don't see
how sending the data will help.

In my case it seems that the AV is triggered after a sequence of:
changing a Table.IndexName and doing a SetRange in one modal form,
then closing that form, showing another form, changing the Index and
doing a SetRange +ADw-partial key+AD4- which returns a non-empty
dataset (empty dataset +AD0- no AV).

What I have done is added a 'cludge' switch to my app (see update
post) and tested that in B7.  I get the AV when the switch is False
and no AV when True.

I then uninstalled B7, installed B6, re-built the app, then tested
again.  This time there was no AV with either 'cludge' state.

I had assumed it was my bug .. so I never thought to try the above
until you posted (thanks).

The only way I can think to test your fix with my app is to rebuild
it with your fix.  Is the fix contained within a single unit which
has no dependencies on other changes?  If so, I could try a rebuild
if I had the fixed .dcu for a temporary swap out - I am non-source
(freeware).  Otherwise I am inclined to wait for your release with
crossed fingers.   Email me (usual address) if you can and want to
try this.  Surprised

Malcolm
--
Wed, Jan 27 2010 2:14 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Malcolm


>I am non-source
>(freeware).

If that's true I'll have three of you please Smiley

Roy Lambert
Wed, Jan 27 2010 3:29 AMPermanent Link

"Malcolm"
Roy Lambert wrote:

+AD4- Malcolm
+AD4-
+AD4-
+AD4- +AD4-I am non-source
+AD4- +AD4-(freeware).
+AD4-
+AD4- If that's true I'll have three of you please +ADw-g+AD4-
+AD4-
+AD4- Roy Lambert

You like a challenge, then+ACE-  +ADw-g+AD4-
But, of course, you're in HR.  +ADw-bg+AD4-

--
Wed, Jan 27 2010 5:11 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Malcolm

>You like a challenge, then+ACE- +ADw-g+AD4-
>But, of course, you're in HR. +ADw-bg+AD4-


Wash your mouth out - I'm in recruitment.

Going back to XanaNews what is it doing +ADw = < and +AD4- = >  DUH!

Roy Lambert
Wed, Jan 27 2010 6:31 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Malcolm,

<< I don't see how I can replicate the AV just in SQL.  So I don't see how
sending the data will help. >>

Who said anything about SQL ? Smiley

<< I had assumed it was my bug .. so I never thought to try the above until
you posted (thanks). >>

As a general rule - an AV should never happen, so if it does, then it's a
bug.

<< The only way I can think to test your fix with my app is to rebuild it
with your fix.  Is the fix contained within a single unit which
has no dependencies on other changes?  If so, I could try a rebuild if I had
the fixed .dcu for a temporary swap out - I am non-source (freeware).
Otherwise I am inclined to wait for your release with crossed fingers.
Email me (usual address) if you can and want to try this.  Surprised >>

I'll send you the fixed units, and would greatly appreciate it if you could
give them a try.

Thanks,

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Jan 27 2010 4:52 PMPermanent Link

"Malcolm"
Roy Lambert wrote:

+AD4- Malcolm
+AD4-
+AD4- +AD4-You like a challenge, then+ACE- +ADw-g+AD4-
+AD4- +AD4-But, of course, you're in HR. +ADw-bg+AD4-
+AD4-
+AD4-
+AD4- Wash your mouth out - I'm in recruitment.
+AD4-
+AD4- Going back to XanaNews what is it doing+AKAAPA- +AD0- +ADw-
+AD4- and+AKAAPg- +AD0- +AD4- +AKA-DUH+ACE-
+AD4-
+AD4- Roy Lambert

Ugh, I hate the taste of carbolic +ADw-spit - reaches for the
malt+AD4-  Surprised


I don't see the '+AD0-', but it is just marking the start of each
quoted line .. and it doubles up to mark quoted quotes, etc.

I can turn it off, or use a different marker, or ...
Just never saw the need to move from its default.  I don't really
care for the method Tim uses because when he quotes multiple paras I
have to look for the ending +AD4APg- somewhere on the right to see
where the quote ends and his reply starts +ADw-shrug+AD4-

Malcolm

--
Thu, Jan 28 2010 3:01 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Malcolm


Its not the marking of original text that's the problem its the marker used to do it +AD4- rather than > is very obtrusive and makes it difficult to read the message. It may be that Xana is translating the markers so that you don't see it in the same way I do. Rather than one character I see 5 (+ A D 4 -). Have a look at the web newsgroups and you should see it.

Roy Lambert
Page 1 of 2Next Page »
Jump to Page:  1 2
Image