Saturday, April 25, 2009

Extended Virtual Keyboard for the TX

Two .prc files are needed: mySkin-Installer from Pruss and Velo-Grayhide Extd Kbd from Velo. That's all. Install them both, run the mySkin program and it will give you the option to select the Velo keyboard.

It appears the "Fitaly" program is unnecessary, although it is supposed to have a feature to remove the rogue DIA files that sometimes get accidently transfered from T3 to TX and crash the DIA. Not sure if it is any good, I found the Fitaly "keyboard" to be buggy and unusable.

The Pruss documentation seems to indicate the ability to "fix" T3 skins, like my own DIA Ultima skins, but I haven't tried it and one would really need the registered version of the Pruss software to take advantage. Maybe I'll try it on a rainy day....

Saturday, April 11, 2009

Palm TX Simulator Crashes on Startup

A thank you and credit goes out to Doug Gordon from the palm-del-forum for this solution, which I quote here:

Sat, 14 Jan 2006

Luc Le Blanc wrote:


On a XP machine where I successfully run various POSE and Simulator
versions, the TX Simulator I downloaded today crashes soon after I
select the shipped "Devon" (?) ROM, and before anything gets displayed
on its screen.

I also had this problem with the Debug version and have not gone back to it, but I since learned this: Look for a directory on your PC named C:\Palm and see if there is a file there named "SimSlotDriverVolume". Delete that and try the Simulator again. In general, I think that you have to delete this file any time that you switch from one Simulator to another. Its contents are different from the "snapshot" file that you save in the Simulator's directory. This makes it more difficult to switch among several Simulator types quickly, but it does seem to fix the problem of it crashing or hanging on startup.

Saturday, April 4, 2009

Invalid Chunk Pointer when Exiting Application

This is a dreaded error message, because if it occurs only when exiting the application all the variables can look fine up to and including the last line of code, and then it crashes. Supposedly it signifies that the application is trying to free up a handle that is already free, such as a a field on a form that is already closed. Alternatively it is supposed to indicate that the application allocated too much memory for global variables. What I find is that if I allocate even local memory for a large, two dimensional char array or a structure consisting of chars, it the application crashes after AppStop on exiting. So my advice is isolate the function that reproduces the "exit crash" and rem out any large char array or char structure declarations, and the crash goes away. Then rewrite the code using more compact char arrays, such as smaller arrays or single-dimensional arrrays, recycling the same memory allocation in loops instead of spreading all the data out into large structures.

On a related note, I also get horrible crashes when editing text fields in my app. I find that usually that means I have screwed up the resizing of the memory when saving the data to the palm's memory. So look at the resizing code or the resizing functions reallly closely when that happens.

Another landmark to report today, besides figuring out the exit crashes and the edit field crashes: I now have the ability to line-by-line debug a Palm OS 5 app while it retreives data from the internet. The trick is to 1. Use the TX Simulator, 2. In Debugger Preferences import the "poser" file, 3. Right click on the Simulator, go into Settings->Communication and select "redirect NetLib calls to host TCP/IP". Now the TX Simulator is connected to the internet, even while using the debugger.