I apologize in advance if this has been hit in the list, it is a problem I
have been long stewing over, and comes on the heels of the earlier message
I posted..
Problem: Can't seem to build a program that will run on a Personal ROM,
that works fine on OS2.04 Professional, TRG boards, Palm III, Ez etc.
Synopsis:
I have a project that started life in CW 3, and has recently (by the
original author and myself) been upgraded to use OS 3.0 libraries. It
builds/Links/debugs fine for Pro's, PalmIII's and even the new EZROM. What
I am having a huge problem is with compatibility with Palm Personal ROMS
(512K, OS 2.04). I can't install or Debug the thing, that is to say, the
following happens when I attempt an install:
Debugging:
File D/L proceeds fine, at the point where I am usually dumped into
PilotMain, I am instead dumped into assembler (a place i am only usally put
if something is truely amiss), with the following messages in the Stack
0x10C5B430(_Startup_)
0x10C5B678(PilotMain)
0x10C093F2(SysAppLaunch)
_Startup_
(0x10C19DC0)ErrDisplayFileLineMsg)
the first line of the source reads
10C5B430: 2600 move.l d0,d3
If I hit run at this point, it drops me back to the main default palm
preferences screen yet my program is aledgedly still executing. This
happens in both the emulator and Real device.
StandAlone
If I build the file normally (debug off) and install it to a Personal
(either emulated or real), then it crashes as it tries to load the main
screen with familiar error Fatal Error "memorymgr.c, lineL 3926
InvalidHandle" (as an aside, could these messages be any more threatening
and less helpful?)
There is No Logic to speak of happening, here is pilotmain
if (!StartApplication())
{
// Start the first form.
FrmGotoForm(1000);
// Start the event loop
EventLoop();
// Clean up before exiting the applcation.
StopApplication();
}
all StartApplication() currently has in it is
static Boolean StartApplication(void)
{
return (false);
}
It then hits EventLoop,is dropped into the ApplicationHandleEvent and gets to
the
frm = FrmInitForm(formId);
Line. Where it crashes.
The form resource at this point is correct (1000). The resource is there
(attributes set "usable", "save behind", though i have tried it with just
"usable", and all three ("modal"). Same problem
What gives? the thing runs flawlessly on all new devices. Naturally it
dosen't run on 1000/5000's, but that is by design.
The only special thing about this project is that it has multiple targets,
and there is a lot of stuff in the main form (form 1000).
Any info would be most appreciated
Nick
SoftCare
----------------------------------------------------------------------------
---------------------
"Comfort slays the passion of life and walks, grinning, at its funeral"