I'm stumped.
After a major update to my program, a call to PceNativeCall is causing a fatal
exception. The old version works fine.
The code has not changed, and I have gone over it several times side by side,
all the code is the same.
MemHandle armH;
MemPtr armP;
armH = DmGetResource('ARMC', 1000);
armP = MemHandleLock(armH);
UInt32 FixParmlist[4];
err = PceNativeCall((NativeFuncType*)armP,&FixParmlist);
It compiles and links clean.
This armlet is only executed on Tungsten T,T2,T3 and Z71 to fix some OS bugs.
I've been using this armlet for several years now without issue.
Now the major difference, which is the only reason I can think that this code
is failing, is that the project has grown quite a bit and I've split things
into 3 segments. The old version that works is only 2 segments.
The runtime, PilotMain, and Armlet.r are all in the first segment, as well as
the C file that has the PceNativeCall.
Is there anything that adding a third segment would do to cause this problem?
I'm currently using the "large" model and "standard mode". I went through and
compared every setting between the old project and new one and they are all the
same.
CW lists the first segment code size (on the Segments tab) as 65K.
On the old working project, the first segment code size is 74K.
Any ideas?
Thanks!
-Mike
--
For information on using the ACCESS Developer Forums, or to unsubscribe, please
see http://www.access-company.com/developers/forums/