Exception C0000005 converting XML to TPS in Clarion 8

Exception occurred at address 0128846B
Exception code C0000005: Access Violation
Process PID=0000402C Image: C:\SPOE\SPOE.Exe
Thread 2 Handle=000004F4 TID=00004450

EAX=0807FBA0 EBX=023F0016 ECX=0313EF00 EDX=0807FBA0
ESI=0362BAC8 EDI=0313EF4F EBP=0313F278 ESP=0313EED8
EIP=0128846B FLG=00010202

Call Stack:
0128846B
00653CC3
0043DFEE
00441E6A
00442364
00439C27
00653FAB
0041E545
0041DDCC
005F6FA7

Very few here will be able to make sense of that, especially without you sharing more details about what you’re doing and showing us some code for how you are handling the XML.

2 Likes

Exception code 5 basically means something tried to access memory it wasn’t allowed to access.
Mostly this is due to mismatched dll’s somewhere, eg trying to use clarion6 stuff in clarion10, something like that. But could be any number of problems.

To help, try using the debug library in /bin/debug that gives a LOT more info in your exception, like procedure names and source code lines.
You can also help by compiling in debug mode.

Once you have the extra info the solution might be obvious to you.

Also, as well as what @seanh said, this can be cause by trying to access a class that hasn’t been instantiated. For instance

st &StringTheory
  CODE
  st.SetValue('Some Value')

In this example, st is a pointer to a StringTheory object, but it hasn’t been instantiated, leading to the Access Violation (C0000005) error.

Hi Sean

Does Clarion 8 have the DEBUG RTL?

Mark

Yes it does

@mfthrzy you need to compile with your project set to Debug and follow these instructions to see the Call Stack with procedure names. As noted we also need to see what code you are running? How are you reading the XML?

1 Like