Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 10 of 14 total |
Access violation while calling ATable.SetRange |
Sat, Jan 23 2010 2:14 PM | Permanent 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 AM | Permanent 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 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. 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 PM | Permanent 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. Malcolm -- |
Wed, Jan 27 2010 2:14 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Malcolm
>I am non-source >(freeware). If that's true I'll have three of you please Roy Lambert |
Wed, Jan 27 2010 3:29 AM | Permanent 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 AM | Permanent Link |
Roy Lambert NLH Associates 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 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. 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 ? << 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. >> 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 PM | Permanent 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- 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 AM | Permanent Link |
Roy Lambert NLH Associates 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 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Monday, May 6, 2024 at 01:09 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |