Re: Linking a single Glue API in the midlle of a C file
On Wed, Jul 9, 2008 at 10:18 PM, Luc Le Blanc wrote: Wow! That's too extreme for me. I link the Glue library anyway for various other APIs, so I'll let the linker do its smart linking and only pick what's needed. And best reason to go no further: it works! it was a suggestion if you got stuck and had no other choice. you should be thankful that the glue libraries are built from each function in their own .c file or you would not be able to selectively link the function used (specifically on a compiler like gcc - codewarrior might be smarter) On Wed, Jul 9, 2008 at 3:33 AM, Lionscribe wrote: Welcome back Aaron! You were very much missed. I see your humor has stayed with you. :-) i'm still lurking - still doing some work with Palm OS :) I wasn't seeing it as humor. You dont want to know some of the things we've had to do over the years to make certain things possible :) hacking assembly into your C code to get around bugs is very common. I'm sure Dmitiry can also comment on this :) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Linking a single Glue API in the midlle of a C file
On Tue, Jul 8, 2008 at 2:06 PM, Luc Le Blanc [EMAIL PROTECTED] wrote: My first app segment contains a single C file that embeds all procs that must be in the first segment in order to be able to properly handle Global Find and beamed data when the app is not running (i.e. global-less mode). Now, if I try to link the Glue Library to this in order to have access to LstGlueSetIncrementalSearch, I get out-of-reach references to this API. Can I link that single API in the middle of my C file? Otherwise, I tried splitting my C file in two and link the Glue Library between the two, but that causes lots of 16-bit jump problems. Ideas welcome, why not create a very simple program that calls the LstGlueSetIncrementalSearch function; then you can diassemble it using a combination of par, and pilotdis (par e code 1; pilotdis code0001.bin) then, you'll get a file called code0001.bin.s - which, has the assembly of the small demo program you wrote (that only calls the glue). the glue function will be appended at the end; and you should be able to cut and paste the assembler code into a C function declaration, embedded within asm tags. :) thats what i would do. its also a reason why the glue library code should be open source; so one could just use the function that they need (ie: c+p the code where they need) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Any free XML parser for Palm OS?
your not looking hard enough... http://www.llamagraphics.com/LlamaXML/index.php On Wed, Feb 20, 2008 at 7:20 PM, Hudo Rodrigues de Almeida [EMAIL PROTECTED] wrote: Hi, Aaron and all the others… The links mentioned by Aaron at Google did not serve to me, because my code is C++. If it were Java, things would be easier. this was announced on the list quite some time ago, its released under a dual license, GPL for open source projects, and a paid license for commercial projects.. just dont go stealing the work, because a little bit of work has gone into that library. free as in beer. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Official PAR location?
http://www.djw.org/product/palm/par/ david williams home page :) On Feb 2, 2008 3:52 PM, Luc Le Blanc [EMAIL PROTECTED] wrote: I want to recommend PAR to my users to strip the PDB header off a HotSynced file stream. But where is the official source? I don't see it referenced in PalmSource's Dveloper pages anymore. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Palm OS Plumbing: Key and Pen flushes don't flush
On Jan 31, 2008 12:50 AM, Jonathan Carse [EMAIL PROTECTED] wrote: Using the progress manager is the right way to go - definitely. But if anyone wants a quick solution to a situation like this, just use Aaron's FIX#2: Put these lines in whenever you want to throw away your pen events (best placed, as mentioned by Aaron, in the beginning of a for loop). do { EvtGetEvent(evt, 0); } while(evt.eType != nilEvent); That will throw away all the pen and key events that occur during your operation. you will find that: EvtFlushKeyQueue(); EvtFlushPenQueue(); also work if you put them there. you were putting them outside your while loop - so, they were just being enqueued when the user tapped away and the event queue overflowed. good that you found a solution that works; albeit, its not a good design as i mentioned earlier; the progress manager does what i suggested but in a more elegant manner (vs the nilEvent processing) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Palm OS Plumbing: Key and Pen flushes don't flush
On Jan 29, 2008 1:14 AM, Jonathan Carse [EMAIL PROTECTED] wrote: I thought I won't have to deal with plumbing issues if I chose to be a software engineer... :) :) actually - your issue is not a plumbing issue, its more a design flaw. I am performing a long operation in one of my functions, which takes about 30 seconds. see; thats your problem. palm is not a multi-threaded operating system so what happens is your routine takes over the device and when the user taps on keys or pens, the interrupts for those input devices are called which is eventually overflowing your buffer. FIX #1: the simple fix is to keep what you have; and, ensure the event queue does not get full. instead of calling EvtFlushXXXQueue() after your process; do it within in; after every iteration. you need to prevent the event queue from getting full. the problem with this approach is that there may be enqueued events which you are going to lose/zap by calling flush() FIX #2: turn your for-loop into a series of nilEvent processing. ie: make the processing event driven. when the process is running; simply ignore all key and pen events - your busy :) you can also do some form of animation/user interfaction every time a nilEvent comes; like, show a percentage bar etc.. just locking up the device is not acceptable; and, i'm not surprised the users clicking around like crazy - your app locks up :) (in their eyes) // Iterate through all the databases (while there were no errors) for(u_wCurrentDB = 0; u_wCurrentDB TOTAL_DATABASES returnValue == PERFORM_BACKUP_SUCCESS; u_wCurrentDB++) { // Long operation (backing up to memory card) // Flush all user input out of the queues EvtFlushKeyQueue(); EvtFlushPenQueue(); } instead.. if your looking for the lazy fix. i mean lazy when i say it; as you should really restructure your code. lockups are expected on windows mobile :) not on palm. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: API to extract VFS filename from full path
On Jan 29, 2008 10:46 PM, Luc Le Blanc [EMAIL PROTECTED] wrote: On Jan 29, 2008 6:00 PM, Luc Le Blanc [EMAIL PROTECTED] wrote: Is there an API to extract the VFS filename from a fully qualified name that includes the path? filename = StrRChr(path, '/'); if (filename != NULL) filename++; basic string routines? not sure if thats what your looking for; but thats how i would do something like that. Yep. From scratch. I just thought VFS had such things. BTW, StrRchr doesn't exist. I have to write it too ;) strrchr? :) stdlib? anyhow. i think you've solved the problem now anyhow. now that i think about it; i knew i wrote my own string routines for a reason; there are a bunch of routines missing from the standard SDK that should be in a standard C library. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: API to extract VFS filename from full path
FYI: here are my routines; (try to re-use what i can) :P // look for a specific character in the memory buffer, starting at end char * _MemRChr(void *p, char chr, uint32 count) { char *pos; char *x; int i; // default return value pos = NULL; // pre-condition (cannot have null pointer) if ((p != NULL) (count != 0)) { // use temporary variables for processing x = (char *)p; x += count; // lets scan the memory buffer i = count; do { if (*x == chr) { pos = x; break; } x--; } while (--i); } return pos; } and... char * _StrRChr(char *s, char chr) { return (char *)_StrNRChr((void *)s, chr, _StrLen(s)); } char * _StrNRChr(char *s, char chr, uint32 count) { return (char *)_MemRChr((void *)s, chr, (uint32)(MIN(count, _StrLen(s; } -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: API to extract VFS filename from full path
On Jan 29, 2008 6:00 PM, Luc Le Blanc [EMAIL PROTECTED] wrote: Is there an API to extract the VFS filename from a fully qualified name that includes the path? filename = StrRChr(path, '/'); if (filename != NULL) filename++; basic string routines? not sure if thats what your looking for; but thats how i would do something like that. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Obfuscation
On Jan 28, 2008 11:12 PM, Jonathan Carse [EMAIL PROTECTED] wrote: Does anyone have any reading material on the subject of security by obfuscation with Palm binaries? yes. an old post on the topic (discussion a concept) http://www.mail-archive.com/palm-dev-forum@news.palmos.com/msg05201.html a link to the paper discussed in that mail post http://www.ardiri.com/publications/palmsource2000.pdf keep in mind these documents are almost 7 years old - but, you asked :) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: autorun for palm OS
On Jan 8, 2008 3:45 PM, Brown, Steve [EMAIL PROTECTED] wrote: I am looking for any information on creating an autorun solution for palm OS. What I need is to basically insert an SD card and have the handheld automatically copy files to the a specified location on the handheld (which may include a different SD card). Any help would be much appreciated. start.prc http://www.developer.com/ws/palm/article.php/10946_3514986_2 please. please, please. implement it correctly; not like TomTom. i have had so many customer complains when TomTom create the biggest mess with autorun capabilities of memory cards. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Optimizing math operations
If I have float y; UInt16 x; y = x / 100; will the division take place in FP because of y? no. the compiler will recognise 'x' as being an integer and 100 as an integer and do the division using integer division. your value for y will always be 0. if you want to force it to be floats, you have many options y = (float)x / 100; y = x / (float)100; y = x / 100.0; etc.. this is a standard C language issue; nothing related to palm http://drpaulcarter.com/cs/common-c-errors.php#2.5 a nice page with a list of very common C programming errors -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Zire 22 screen turns like plaid - memory bug?
I could see this either being a write beyond the the of an array into video memory (your bug) or a problem where the refresh logic in the OS doesn't get to execute often enough (device problem). Device problems won't get fixed. i think what ben means is that there are no resources at palm to address issues like this - which are most likely within the ROM on the device in question.. Luc Le Blanc, could you send me a description of how to duplicate this? If it's a device problem it can be fixed :) dmitry :) everything can be fixed if your prepared to hack into the rom :) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Alternate platforms
I've noticed less activity around here lately. So I'm wondering, are some of you moving on to another platform? there is still a demand for palmos applications - i am currently working on a specification for a palmos only application right now. most developers have, over the past few years done the necessary changes to support multiple platforms; with as much common/shared code as possible. i, myself have been toying with 11 platforms; including the iphone (using the hacked SDK) - and depending on what the client wants; i use whatever i need. unfortunately, to cover 11 platforms; you need a mac osx intel machine - with vmware to have windows/linux images. then you can do everything from a single machine :) vmware rules - if you dont know about it, check it out www.vmware.com -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Creating hires forms
On Nov 30, 2007 3:33 PM, James Screech [EMAIL PROTECTED] wrote: I've had a break of a few years from developing PalmOS applications and now want to update some of my old apps. I've got the new IDE installed and working, however I have a few questions about developing applications for newer hires (over 160 x 160) devices. I can see in the resource editor that it's possible to select the screen size for a form, however when going to 320 x 320 this just seems to double up the pixels is the correct? simple answer. you dont. you can hack around it by messing with the screen density; but you can get some very unexpected results :) officially, higher resolution meant better quality, not more room to play. Also if I select 320x480 I can't place controls on the bottom part of the form, how do you get them there? dynamic user intefaces. CtlSet to set locations etc.. based on a resize event; but, if you have started to look at DIA, you would know most of this already :) the examples for 320x480 support cover everything you need to know. What do other developers do about different screen resolutions? Do you just develope for 160x160 or do you dynamically select and display different forms depending on the resolution of the device that is running your applications? thats one way to do it. or, you could have a bunch of UI objects and dynamically set their position, size and visibility based on the screen resolution. kinda like how you program HTML with CSS for layout. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Forum error
seems that numbers are ignored. On Nov 12, 2007 11:07 AM, Jonathan Carse [EMAIL PROTECTED] wrote: For example, I encountered an error on the Palm with the code Sys 0505 (it's not relevant what the error was exactly). This problem was posted on the forum, but for some reason the search for 0505 brings up nothing. http://news.access-company.com/read/search/results?forum=palm-dev-forumwords=Sys+0505sb=1 i searched for Sys 0505 and i got plenty of hits. definately an issue. amy riha was responsible for the developer forums; not sure if she still works there - has been a while since i have seen her at any event/show. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: text_64k linker script and 16-bit relative addressing problem
On Nov 1, 2007 9:36 PM, Dmitry Grinberg [EMAIL PROTECTED] wrote: to find the order, try random things. There is a better solution, however: CodeWarrior. or multi-section prc-tools :) just define what functions go into what section. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Creating a data file without a SD slot
On 11/2/07, Luc Le Blanc [EMAIL PROTECTED] wrote: Is there an alternative format I can use to produce a non-database data file in the absence of a SD slot? Installable file system library? check out the file streaming API. it stores a basic file stream in a .PDB file, in chunks of 4096 bytes. you can convert to and from using utilizies (par for example) on the desktop. you simply install via hotsync. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: What 'counts' as a global?
On 10/25/07, Rob [EMAIL PROTECTED] wrote: I was surprised to find that ChartimeString[timeStringLength]=; was being treated as a global... that is because you have effectively allocated a buffer of length timeStringLength with NULLs. if you are to use it, it is natural that you are going to change the string, so, it has to be in a read-write memory location, hence the use of globals. pc-relative information is for constant data. ie: const Char timeString[10] = my string; can be assumed read-ony. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: What 'counts' as a global? - how to work around it...
On 10/25/07, Rob [EMAIL PROTECTED] wrote: ok - a followup. having found that: { const UInt32 bitRate[15] = { 0, 32000, 4, 48000, 56000, 64000, 8, 96000, 112000, 128000, 16, 192000, 224000, 256000, 32 }; return bitRate[bits]; } Is triggering an A5 warning, I need to do the same job without globals (I have turned on PC-Relative strings and PC-Relative constants in the project options, but they don't seem to fix this) can anyone suggest an efficient way to do this that won't end up using the A5 register? a) global const put it outside of the function, not as a variable inside. b) use a resource resources are simply memory pointers when locked. not that slow at all. what do you expect pc-relative data is? it is data inside a 'code' resource. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Setting/testing a float/double with NAN
On 9/29/07, Luc Le Blanc [EMAIL PROTECTED] wrote: I do float and double computations and I sometimes need to set them as NAN (Not A Number) to signal something could not be computed. Conversely, I must be able to test for NAN equality. A float NAN is 0x7FC0 while a double NAN is 0x7FF8. But how can I define these constants so that I can do float = fNAN; and if ( f == fNAN ) I tried: const Int64 dNAN = 0x7FF8; const Int32 fNAN = 0x7FC0; but when I do float f = fNAN, it ends up with 0x4EFF8000 instead. I tried various casts, as well as #defines, to no avail. What is the trick? *((Int32 *)f) = fNAN; *((Int64 *)d) = dNAN; you need to tell the compiler to assign the int32/int64 direct as bits, not try and convert them into float/double. its ugly, but, thats how it works. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Setting/testing a float/double with NAN
float f = fNAN, it ends up with 0x4EFF8000 instead. I tried various casts, as well as #defines, to no avail. What is the trick? *((Int32 *)f) = fNAN; *((Int64 *)d) = dNAN; .. if ( f == fNAN ) needs to be: if (*((Int32 *)f) == fNAN) as well. you could also use a union, as philip sheard mentioned; but it wont be as elegant. what i would do, is write macros. #define SET_NAN(f) *((Int32 *)(f)) = fNAN #define IS_NAN(f) (*((Int32 *)(f)) == fNAN) this assumes that f is a variable, not a constant - as will get ugly :P then you simply call as: SET_NAN(f); if (IS_NAN(f)) { } you can play with it to get it looking more elegant. idea remains. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Setting/testing a float/double with NAN
On 9/29/07, Harald Schlangmann [EMAIL PROTECTED] wrote: Do you have complete code for PalmOS? There is no Int64... Kind regards, Harald typedef long long Int64; -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Clie, OS 5, High-Density Display Feature Set
On 9/16/07, Terry [EMAIL PROTECTED] wrote: Do Sony Clie models that come with Palm OS 5.x include the High-Density Display Feature Set? yes. it was defined in Palm OS 5.x - sony still had their own things for certain things like the DIA support - as that was officially introduced in palmos 5.3 -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Problem regarding Unicode....
On 8/3/07, Shruti Wadhwa [EMAIL PROTECTED] wrote: Hi All, I need to display unicode on various forms. I am able to display the unicode on forms but have problem in scrolling text area. unicode is not officially supported by palmos. only latin-1 is officially supported, software solutions exist that remap the basic character set into other sets as well. if you are looking for a true unicode solution, specifically dealing with something like utf8 then you need to roll your own solution. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Palm and Strings
On 7/2/07, James [EMAIL PROTECTED] wrote: Hello all, I am having a brain cramp or something. I try the following on the palmm and I get an error of reading from an invalid memory. I have the following: char *name[] = { tom, dick, harry }; char **names = name; Then I have a function that does a cast onto the pointer ( UInt8 *) Now I tried this on GCC (PC compiler) and it works fine, it gives me back the right string I ask for? Am I missing something here?? yes. you need to know and understand how strings are stored in palmos code. typically, they are either stored in your .data segment or, depending on computer settings, they can be stored within your .text segment. its a funky setup, and its best solved by redesigning for the palmos environment. strings in text segments are read-only, as dynamic memory is limited. if you want to store strings, consider using a string list as a resource, and then locking that down and using it. not everything you do on the pc will work the same way on the handheld, in some cases, major design changes are needed. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Capturing screen shots
On 7/2/07, Tam Hanna [EMAIL PROTECTED] wrote: Hi, there is a way: a) Enregister for alarm b) When alarm comes, save display window bits c) Register next alarm goto a or, try some freeware http://www.codejedi.com/shadowplan/zgrab.html something that only takes a few minutes to write up yourself. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Is there a max heap allocation size?
On 6/21/07, Jeff Loucks [EMAIL PROTECTED] wrote: It's not an unpublished API. I said earlier, it's MemGluePtrNew(). Google turned up at least a dozen hits on MemPtrNew() vs MemGluePtrNew(). xxxGluexxx API's are not officiall API's - they are published as a library which you must link against, someone else effectively has written a wrapper for what you are needing http://www.access-company.com/developers/documents/docs/palmos/PalmOSReference/PalmOSGlueLib.html MemGluePtrNew is effectively MemChunkNew with the AllowLarge flag. i never use Glue, because either i am using a compiler that does not support it, or if there is a version out there.. its too old for my needs. i have my own glue code :) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Is there a max heap allocation size?
On 6/21/07, Jeff Loucks [EMAIL PROTECTED] wrote: Beg to differ. Glue APIs have been a part of the Palm OS offering since at least OS 3.5. They are neither unsupported nor undocumented. You'll find them documented right along with the other APIs. Yes, they require you to include a static library in your link, but there's nothing difficult or unsupported about that. They aren't your standard trap based API, but they are still APIs. They are routines that you call that wrap earlier APIs in a way that makes them more useful, updated with new or extended features and usually backward compatible. you are a newbie. :) some of us still remember programming the original palm os 1.0 with monochrome screens and a 32k dynamic heap. Glue was introduced because all of us had our own glue hacks. it was also common that Glue API's would be released too late, so we all still had to have our own versions. palmsource also only provided Glue libraries for 68K. my current palm applications are written in ARM natively, there is no MemGluePtrNew available for me in ARM - so in order to reproduce the API, its important to know how it is defined and what the basic concepts are behind it. #define memNewChunkFlagAllowLarge 0x1000 it was an internal use flag, you wont find it in any headers. we were using it is 2001+ http://news.palmos.com/read/messages?id=93048#93048 MemGluePtrNew was introduced very late http://www.mail-archive.com/palm-dev-forum@news.palmos.com/msg75924.html i have PalmOSGlue.h from Palm OS SDK 5.0 (111823) and MemGluePtrNew is not defined there. so now you know why we had to write our own.. i think it was added 5.x+ granted, all new developers.. they are being handed all our problems in a nice little package to make life easier for them :) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Is there a max heap allocation size?
On 6/21/07, Jeff Loucks [EMAIL PROTECTED] wrote: You are correct that glue has matured through the years, and MemGluePtrNew is a more recent addition (2002). But, PalmOSGlue has been around since before 2000. MemGluePtrNew was added with SDK 5.0 R2. may 6, 2003 :) PalmOSGlue has been around much longer than 2000, in fact if i remember right Ken Kruger wrote some of the first headers, back in 1998 :) is we are doing history lessons :) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Is there a max heap allocation size?
On 6/21/07, Jagat Nibas Mahapatra [EMAIL PROTECTED] wrote: What is the unpublished API ? try searching for it :) it has been discussed a lot in the archives. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: type of data byte
add this to your c file at the top or in a header file you include. typedef unsigned char byte; On 6/12/07, mrc-dm [EMAIL PROTECTED] wrote: How can I use type of data byte to create an application on language C using PalmOS Developer Suite. It does not recognize and it gives it error. or, you can use Ben's suggestions and use the types defined (standand C) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Palm Os Free Developement
On 6/8/07, Jagat Nibas Mahapatra [EMAIL PROTECTED] wrote: Isn't there any prc-tools for windows ? www.cygwin.org if you cannot install this, you need to pay. simple fact. no freebies. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Download Palm App and Run without Normal Launch by User
The user will always be prompted if they want to accept the application (there is nothing you can do about this). However once thay have accepted it your application should recieve the actually, not true. i could write a program to create a .prc manually and then when done simply do a SysUIAppSwitch() to it. of course, the manual creation would be by receiving information over TCP/IP. the unfortunate thing is that it is hard to have an application delete or update itself without some complex programming. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Palm Foleo Developer Tools
On 5/31/07, Michal Seliga [EMAIL PROTECTED] wrote: notebook which can survive longer trips by train is not bad idea...especially if i could have there any software i need (midnight commander, prc tools, mplayer :-) but its not what i expected from new palm device. as long as you have a shell - you can recompile prc-tools on the device. now, porting POSE to the new linux+GUI libraries will mean you can have a full garnet development platform on this new device. the limitation will be the size of the internal flash memory - can it fit them? -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Palm Foleo Developer Tools
On 5/31/07, Michal Seliga [EMAIL PROTECTED] wrote: Aaron Ardiri wrote: the limitation will be the size of the internal flash memory - can it fit them? if not then this is what sdcard slot is for... or usb i am not sure if the expansion capabilities have been truely discussed yet. my guess would be there would be an internal flash card for the main os and built in applications. one would hope for a SD card for expansion, if there is USB, it is not known if it will be for data (USB drives + external HDD) or just for input devices mouse/keyboard). should be simple to just mount under /mount tho, it is linux :) i dont see any major problems. we need to see more specs and full functionalities, time will tell. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Cygwin/PRC-Tools Slow on Vista
On 5/30/07, Mike McCollister [EMAIL PROTECTED] wrote: I just did a clean install of Windows vista and installed cygwin with PRC-Tools. I have noticed that compiling a Palm OS program takes a very long time compared to Windows XP. If I compile a native Windows program then it is not slow. Has anyone else had this problem and been able to fix it? um.. prc-tools and cygwin binaries are native? the programs are written against the cygwin.h API set, and there is a cygwin.dll which makes the whole program a valid win32 console application. there is no emulation happening, other than the abstraction between unix calls and the underlying win32 calls (which, all native programs do anyhow) now, vista may not be compatible with the cygwin threading implementation, which i suggest would cause slow downs. you are better running vmware with a vmware image under your vista installation running windows xp. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Simulator/Emulator Distribution
On 5/18/07, JamesSturdevant [EMAIL PROTECTED] wrote: Someone with more knowledge will probably answer but this is my understanding: The emulator is free software but the ROM images are not. You would need a license from Access (PalmSource) or Palm to distribute them. i can confirm this. we used to ship POSE on a CD rom (saved session) with the rom built in. we needed an agreement with palm to do this. we don't do it anymore tho, because now we have a native binary for windows. you might find it better just to wite a native version. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Converting a filestream into pure binary file
On 5/17/07, Philip Sheard [EMAIL PROTECTED] wrote: You mean a PDB file containing a filestream, right? I do not know if there is a ready made solution, but it is fairly easy to roll your own. In a PDB file, the data will be contiguous. All you have to do is strip off the headers. Just get the offset of the first record, from the first record header, and away you go. There may be some additional crap in the data, but that should not be too difficult to handle. this has been discussed a million times. check archives. http://www.mail-archive.com/palm-dev-forum@news.palmos.com/msg20575.html as one example.. the par utility will in fact do the job as well. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: 64k Size limit for resources
On 5/13/07, Alexander R. Pruss [EMAIL PROTECTED] wrote: One small issue is that on some devices the VFS*Import/Export functions don't work with 64k resources, I think. This means that the re-assembled databases may cause trouble with some file utilities or backup utilities. This may not bother you. what i do is this. keep all my resources 64k. at runtime, build feature memory chunks and re-construct my large resources. feature memory is on the storage heap and is not something that gets backup during hotsync/backup.. just do a little processing when you start your application and viola. all is done. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: prc-tools and multisegment application and SysAppLaunch command
On 5/11/07, Michal Seliga [EMAIL PROTECTED] wrote: main.prg: entry point 0xb79c too distant move your main function towards the start of the code segment. 0xb79c = 47004. this value should be, at maximum 32767, the limit of the relative jump on 68k -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: 64k Size limit for resources
On 5/11/07, C. Gaberial Edwards [EMAIL PROTECTED] wrote: Hi, I'm trying to figure out some way to get around the 64k file size limit for resources. Images and the like aren't bad, I can work around that, but when I'm trying to get WAV files in it's just impossible. The closest I can get is 68kb. I'm assuming that there's something I'm missing, so can some one tell me how to get resources greater than 64kb onto a palm? If not, can someone atleast point me into the right direction? :D the hotsync manager is limited to 64k per resource. you can have resources 64k on the device - as long as hotsync does not try and back them up. why not split them over two resources and re-create them on the device? -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Algorithm for string search with wilcards
On 4/30/07, Luc Le Blanc [EMAIL PROTECTED] wrote: I know this is not PalmOS-specific, but where can I find an efficient algorithm for searching a string with * and ? wildcards. tip: open-source, look up any code base with regular expression handling. if you find anything quick and simple. be sure to post info :) i would recommend looking at unix command line sed sources as a start. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: ALP SDK available.
On 4/24/07, David Beers [EMAIL PROTECTED] wrote: Ah... it *is* there: http://dl.access-company.com/sdk/sdk.tgz The period at the end of Ton's sentence was messing up the URL. It's dated 21-Mar-2007 i would also like to add that the sdk isn't complete yet. there are ongoing updates to the sdk which you download *seperately* from the url above. it probably wasn't supposed to be made available to the public at this point in time - bad web hosting. its probably too late now, but there should be a .htaccess file installed. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: What's up with AppForge the company?
On 4/12/07, John Wygonski [EMAIL PROTECTED] wrote: Tried to get to the appforge web site and I get redirected to Oracle? Is it true that they are out of business? http://www.appforge.com/company/index.html is working for me, sure you got redirected to oracle? their front page gave me a 500 server error - so, i had to click around. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Updating a form help resource ID
else if(romVersionsysMakeROMVersion(5,0,0,sysROMStageRelease,0)){ //pre-os6 you do mean: sysMakeROMVersion(6, there right :) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Detecting Popup List Cancel
On 3/26/07, P. Douglas Reeder [EMAIL PROTECTED] wrote: Why not just check the selected item - I believe if a user aborts it returns LstGetSelection(...)==noListSelection I need to do something right when the user cancels the list selection, so I need an event that happens at that point in time. you should receive a penEvent or a keyEvent. detect when the list is opened; then, store a reference to it and assume it is open. when you receive a penEvent or keyEvent and the list is not being selected (check pen bounds, etc); you can detect that it is still open. there is no generic event for cancelling a pop-up list. you need to simulate it yourself. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: region datares is full (Debug/FlexiQ section .bss)
On 3/21/07, V. Sriram [EMAIL PROTECTED] wrote: hi all, my code has grown very bulky and i'm having trouble adding global variables. i have a structure of size about 160 bytes. i have declared an array of this structure with 100 elements. the compiler throws the following error: region datares is full (Debug/FlexiQ section .bss) please help me out on this one. thats 160*100 which is 16K you can only have 32K in your data segment. what i suggest you do; is instead of making them globals; allocate the memory in runtime using MemPtrNew() that way; only 4 bytes of globals will be used. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Consecutive Call to EvtAddEventToQueue
On 3/16/07, Khertan [EMAIL PROTECTED] wrote: In one of my programm i've two consecutive call to EvtAddEventToQueue. The first event is pulled in the queue ... But there are no trace of the second event. It's two different user event. The code is pascal (but it s very similar to c) MemSet(Evt,sizeof(evt),0); evt.etype:=UserEvent1; event.user1.id:=theid; EvtAddEventToQueue(@evt); MemSet(Evt,sizeof(evt),0); evt.etype:=UserEvent2; event.user2.id:=theid; EvtAddEventToQueue(@evt); have you considered: MemSet(@Evt,sizeof(evt),0); like it should be? that is, MemSet does expect a pointer to the event, much like EvtAddEventToQueue does? I don't understand why this second event isn't in the queue. Any idea ? if you are concerned about EvtAddEventToQueue() only storing a pointer reference to your event - you would only see the second event; not the first. and, if your over paranoid - why not use two seperate event structures? :) (Evt1, Evt2) and see what happens? is the above code real? or, have you substituted it with code which we may understand better? if so, post the real code. your results dont match the code regardless how you see it. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Color icon for the program
On 3/15/07, Luca Bertoncello [EMAIL PROTECTED] wrote: // The program's icon ICON netTools.bmp ICONCOLOR, or use the more up-to-date ICONFAMILY definition -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Black Square Box
On 3/14/07, Anoop [EMAIL PROTECTED] wrote: Hi John, Could you please explain how can i resolve this issue. Am new to this platform and i dont think this is something related to the program flow. Please guide us. Thanks in advance, Anoop on your form, you can define where the GSI is to be located. if you dont want to see it, or dont need it, simply move it out side of the bounds of the form. http://examples.oreilly.com/ palmprog/CDROM/Linux/Pilrc/pilrc2.0/doc/pilrc.htm#Form GRAFFITISTATEINDICATOR AT (Left.p Top.p) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: CW 9.3 and variable is not initialized before being used
On 3/10/07, Luc Le Blanc [EMAIL PROTECTED] wrote: When the CW 9.3 compiler reports error Warning : variable 'x' is not initialized before being used, the IDE points to the declaration line, not the line where the unitialized variable is first used. Can this be changed? almost all compilers do this. the point is to identify the variable that has not been initialized. going to its declaration is the right thing. Or is there a trick to find out where, other than just reading th whole code? search? you may also try to keep your functions smaller in size so that you dont have so much code to read through as well in this case, but it is a matter of style i guess. in some cases, it may be like this: int x; if (condition) x = 0; ... y = x; as you can see, x isn't known if the condition is false. how would it help to know where x is first used in this case? one should always assume variables have a default value of some form, and set it. its a matter of programming style. -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Neat way to handle a RGBColorType as a UInt32 ?
On 3/1/07, Luc Le Blanc [EMAIL PROTECTED] wrote: why not use a macro to make your code easier to understand at the same time :) #define RGBColorTypeSet(a, val) (*((UInt32 *)(a)) = (val) #define RGBColorTypeCompare(a, b) ( (*((UInt32 *)(a)) == *((UInt32 *)(b))) ) i would have done: #define RGBColorTypeGet(a) *((UInt32 *)(a)) Alas, if you want to copy a RGB color into another one, like: RGBColorTypeSet(a,b); doen't work then do: RGBColorTypeSet(a, RGBColorTypeGet(b)); you could also do: RGBColorTypeSetValue(a, val) RGBColorTypeSet(a, b) they are definately NOT the same macro's :) you dont want to be reading the address of 0xL :P -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: Non-word-aligned handle when opening a form
On 2/26/07, Luc Le Blanc [EMAIL PROTECTED] wrote: I have 3 different versions of my app that only differ by a language-specific Constructor file. Yet, in 2 out of 3, opening a modal dialog pops up MemoryMgr.c. Line 4372. Non-word-aligned handle What kind of resource (?) error can produce this? (only on device, POSE seems immune to it) are you using a single form; then, setting the labels from resources? or, are you defining three sets of forms uniquely? if you define three sets of forms; chances are everything will work out. if you are using a common form; the issue you may run into is the fact that you have a label with 10 chars; but, try to put 11 chars in it. ie: common:LABEL 'X' english_1: LABEL 'do it' english_2: LABEL 'show me' english_3: LABEL 'gimme' in the above example; english_1 and english_3 will work; but, english_2 will override the next item within the resource when CltSetLabel is called. if you corrupt the resource in memory - you can easily get word-align issues because the string values dont turn nicely into pointers. as for why it may work on POSE without issues? probably that your overwriting data still creates a word-aligned address :) word align has a 50% chance of working or failing remember :) -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Non-word-aligned handle when opening a form
3 different sets of forms, no dynamic label. :) ok. then the next step is to use a tool like prc2pilrc to convert the final prc to a rcp file so you can check to make sure constructor aint buggy :) -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Neat way to handle a RGBColorType as a UInt32 ?
On 2/26/07, Luc Le Blanc [EMAIL PROTECTED] wrote: I'm surprised the RGBColorType was not declared as a union of UInt32 and other elements. But to copy or compare RGBColorTypes quickly without having to resort to MemMove or Compare, is there a CPU-effective smart cast I can use (( UInt32 ) is refused by the compiler)? Is this cost-free (CPU-wise): you have a point, it should have been: typedef struct RGBColorType { union { struct { uint8 r; uint8 g uint8 b; } elements; uint32 rgb; } data; } RGBColorType ; but to your question. yes. RGBColorType a, b; *( UInt32 * ) a = 0xL; *( UInt32 * ) b = 0x80800101L; *((UInt32 *)a) = 0xL; may help the compiler understand better - why not use a macro to make your code easier to understand at the same time :) #define RGBColorTypeSet(a, val) (*((UInt32 *)(a)) = (val) #define RGBColorTypeCompare(a, b) ( (*((UInt32 *)(a)) == *((UInt32 *)(b))) ) then do: RGBColorTypeSet(a, 0xL); RGBColorTypeSet(b, 0x80800101L); if (RGBColorTypeCompare(a, b)) { .. same } else { .. different } C/C++ can be pretty nasty about how you code your pointer casts; so, just put extra brackets in there to help. it all comes down to memory; as long as the RGBColorType components are after each other; it'll work. you can do a lot of cool tricks like color averaging etc with this too. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: zoom the bitmap
On 2/26/07, Jacken [EMAIL PROTECTED] wrote: Wow! Thanks for your reply ,Aaron... But I am not really sure of what kind of question is the stupid question... never said stupid :) just suggestion people should look in the archives and google before asking questions - you'd be surprised how many duplicates exist. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: zoom the bitmap
On 2/26/07, Regis St-Gelais wrote: never said stupid :) you actualy did: // Aaron Ardiri sick of stupid questions (tm) no-one reads signatures :) On 2/26/07, Alexander R. Pruss wrote: I have some bilinear resize code, both ARM and 68K, in the partial myKbd source release at www.sf.net/projects/handypalmstuff . It's under a BSD license. Seems pretty fast. You'll need to adapt the wrappers to your own needs. i recently ported a bresenham implementation - very nice results. http://www.compuphase.com/graphic/scale1errata.htm -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Call code in other code segments
I think part of my problem is that the pointer I have actually does NOT point to the code I want to execute, and may, in some cases, be trying to execute data. I looked in my code resources that were generated and they have strings I use for debugging showing up at the top of the code resource, and the actual code doesn't show up until later. I assume this means that my .data is getting put before my .text its actually your .rodata section :) The most convenient solution would be to make the code always be at offset 0, and the data be down below the code. yes, that is the solution. There must be some way to write a custom linker script that can put my .data after my .text, but I don't really know how to accomplish this, and my reading of how to write linker scripts just left me confused. man ld SECTIONS { .text 0x : { *(.text) *(.rodata) } } there are are bunch of sample scripts in the prc-tools sdk folders. you may want to do: m68k-palmos-objdump -D file.o so you can see the sections that are actually defined within your object file. Any help would be appreciated. you are using prc-tools right? forget this if your using codewarrior :) -- // Aaron Ardiri -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
Re: zoom the bitmap
On 2/26/07, Jacken [EMAIL PROTECTED] wrote: Hey guys: It's me again, :). my question is how to zoom a bitmap, can you give me a simple expample about that? http://www.google.com/search?q=bitmap+scaling+algorithm how about doing a simple search before you post to the list? your question is not palmos specific at this point, as you need to know the basics of scaling bitmaps. once you understand the basics, then you can come back and ask us how to get direct access to the bitmap bits so you can manipulate them. and, lets not teach you about searching the archives, what do you know: http://news.palmos.com/read/search/results?forum=palm-dev-forumwords=zoom+bitmap Your search for 'zoom bitmap' found more than 100 results. Returning the most relevant 100 results. time for people to do a little research before posting; that search result could have been less than 100 hits if people didn't constantly keep re-asking the same questions. -- // Aaron Ardiri sick of stupid questions (tm) -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Call code in other code segments
Is it possible for me to call functions just using their locked pointer in memory? Or do I need to do some kind of assembly magic? yes. So, can anyone tell me whether what I am trying is possible, and if so, if there is anything I'm doing wrong in calling functions, and what I should do differently? you need to ensure that the pointer you have actually points to the code you want to execute. for example; dont try to execute data. i hope your using gcc, as you can have much more control over your binary generation :) one of my old registration systems stored code in a .pdb file which was encrypted based on the hotsync username. this was written in 2000 - and, it still works today. you just need to know what your doing. no assembly needed. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: How to launch MIDlet?
On 2/23/07, Horace Ho [EMAIL PROTECTED] wrote: Installed the IBM Java VM with the Golf MIDlet sample, the following code failed to launcher the MIDlet programmatically (returns a Launch Error): UInt16 card_no = 0; LocalID db_id = 0; DmSearchStateType search_state; Err err = DmGetNextDatabaseByTypeCreator(true, search_state, 'JMid', 'j9pa', true, card_no, db_id); if (err == errNone) { SysUIAppSwitch(card_no, db_id, sysAppLaunchCmdNormalLaunch, NULL); } Any help? you cannot send launch commands to non-palmos applications. your database; 'JMid'/'j9pa' is obviously the java midlet - i would bet this isn't a valid palmos application :) most applications are of type 'appl'. what you need to do it find out what application launches the midlets. then: a) launch the midlet launcher b) pass information telling it to launch your midlet now; this may only be possible if the midlet launcher has the ability to launch midlets programmatically. i would be betting that chances are, there isn't support for it. what would be nice; is if when you converted your midlet to a palm pdb; it created a appl database; that had the code to launch the midlet interpreter and startup. that way; your midlet would be an icon by itself within the launcher. i did this with our gameboy emulator (liberty) when it was ported to the vtech helio - worked out quite well; but, we never did the same on palmos; would have been nice. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: debugging palm apps in xcode
On 2/23/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: patching file gdb-5.3/gdb/objfiles.c Hunk #3 FAILED at 641. 1 out of 4 hunks FAILED -- saving rejects to file gdb-5.3/gdb/objfiles.c.rej Have you seen this failure before? I am not well-versed in patch, so do you have an idea of what I need to do now? Thanks for any help, there may be a small change in objfiles.c that makes it fail. the good thing about patch files; is that they are text files. have a look at the patch file; normally it'll tell you what line the patch should take place; it will normally also show the old and the new lines. chances are, the line offsets are off. this happens occassionaly - if someone modifies a file after the patch file has been made; but, it isn't impossible to still apply the patch manually :) -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: How to launch MIDlet?
On 2/23/07, Horace Ho [EMAIL PROTECTED] wrote: The tricky part is the system launcher can launch the MIDlet properly. In the Filez apps list, there is J9 Java Launcher (type:appl creator:j9pa attr:hidden). Maybe the system launcher 'knows' how to pass the Golf MIDlet to the J9 Java Launcher, or the J9 Java Launcher monitors SysUIAppSwitch related notifications ... there is your launcher :) are you sure that application stubs are not created for each midlet? try looking through a list of 'appl' databases - there might be in fact a 'appl' database already created that does what you want. then you just need to send the launch code to it. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: database
On 2/21/07, Rabbi [EMAIL PROTECTED] wrote: u can use the below api for creating a database: you have some logical error here: Err err = 0; LocalID dbID = DmFindDatabase(0,BugSquBugsDYTC); gDB = NULL; if (dbID 0) gDB = DmOpenDatabase(0, dbID, dmModeReadWrite); if (!gDB) { err = DmCreateDatabase(0, BugSquBugsDYTC, 'DYTC', 'DATA', false); just because you couldn't open the database readwrite; it doesn't mean you should create it - the database may exist. have you considered that if it fails; maybe you should delete it before creating a new database? DmFindDatabase() if (localID != NULL) DmCreateDatabase() DmFindDatabase() ...DmOpenDatabase() is the standard way to do things; and then handle your opendatabase errors accordingly (ie: unable to open etc etc) -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Putting new event in queue
On 2/15/07, Rabbi [EMAIL PROTECTED] wrote: MemSet(event, sizeof(EventType), 0); should be: MemSet(event, sizeof(EventType), 0); your passing the address of a pointer - which you should NOT be passing. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Crc16CalcBlock
On 2/10/07, Helmut A. Bender [EMAIL PROTECTED] wrote: Thanks, but no... thats the CRC32 of the zlib... I need to know the polynomial of the included Crc16CalcBlock API... http://www.koders.com/c/fid8749525F1BD9303912F4DFBD3B01AE13A35604D5.aspx there you go; same site - but, the sources to POSE (palmos emulator). the routine is right there for you. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: MemPtrFree
char *head; head = (char *) MemPtrNew(100); head = text-GetCharPtr(header); you allocate 100 bytes; lets say it has a memory location 0x0100. you then *replace* the value inside head with the value returned by the GetCharPtr() API, lets say it is 0x0200. when you do: MemPtrFree(head); you should be doing: MemPtrFree(0x0100); but, instead are doing: MemPtrFree(0x0200); and, 0x02000 is a pointer that wasn't allocated using MemPtrNew() which is why its giving you an error message. my guess is you want to allocate the memory, then copy it from the text object. head = (char *) MemPtrNew(100); StrCopy(head, text-GetCharPtr(header)); maybe? -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Database deleted after soft reset on T|X
Details: I installed a .pdb file from PC to T|X Simulator. This database is 58KB, 7 records, most records are just a few hundred bytes. what is the creator id and database type? some database types are reserved for system use - one in particular that gets removed on reset is the temporary database types. you can find a list of these in the reference documentation. you shuold stick to known database types like 'data' :) -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: New shared library' PRC won't overwrite old
On 1/29/07, John Jenusaitis [EMAIL PROTECTED] wrote: I created a shared library PRC with the Palm OS Suite. When I made some updates and tried to install the new PRC to my Palm I got a hotsync error telling me that the PRC was already installed and the new one was not installed. Also, I could not delete the library off my Palm. I do not have the 'Prevent Copy' flag checked in my settings, which I thought may have been the issue. Can anyone give some insight/solution to this? change your version number - to something that is higher than the existing version number (installed on device). hotsync will always install a newer version. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Some Suggestions from u all
On 1/25/07, Rabindra Nayak [EMAIL PROTECTED] wrote: you can learn J2ME because it is platform independent and future mobile will be javadevice. thats what they told us in 1995, about java. so, i jumped on the bandwagon.. got certified in 1999, started teaching classes and got into the mobile space. j2me.. mm. fun :) its just not going to happen, there are so many other technologies that area really going to take its place. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: How to use SDK 5.3?
On 1/24/07, Michal Seliga [EMAIL PROTECTED] wrote: i reported this on pluggedinsite when 5.2 sdk was released, its 'nice' to see how gladly they ignore problems developers have you can download the unix friendly SDK headers.. just so you know. the issue is that when John Marshall was laid off from palmsource, there was no-one there who gave a damn about the alternative SDK environments. its almost like metrowerks invested $$ into palmsouce. :) that said, if you use prc-tools - you can write a few scripts to fix the issues without any major problems, and for most of us, its a blessing to fix the headers :) we, the sick ones. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Dynamic scrollbar?
On 1/23/07, Waylander [EMAIL PROTECTED] wrote: Thank you for your replies. I guess I'll just do a simplistic line up/line down with push buttons. you should create your form with a scroll bar, and when it isn't needed; hide it. this is how almost every developer does this. you dont generate it dynamically; you just show/hide it as you deem necessary. in fact; having it defined but with parameters that dont make sense for display automatically hides the scrollbar. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm File's structure
On 1/23/07, Michal Seliga [EMAIL PROTECTED] wrote: are you sure its palm format? palm uses .pdb and .prc sufixes he is asking about the desktop side of things; namely the formats of the conduit data files (for palm desktop). the answer to his question is that on-device file formats are fully documented; but the desktop side of things may not be. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Dynamic scrollbar?
On 1/23/07, Waylander [EMAIL PROTECTED] wrote: Hi Aaron, My program centers around creating dynamic form controls, so I am unable to predifine where I need the scrollbars. I will how ever use your suggestion in my load page. Thanks you can resize and reposition any object on a form at anytime. palmos has a known problem with dynamically generated forms, so its more stable to define objects that are not used and/or not visible than to attempt to create them on the fly. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm File's structure
On 1/23/07, wawa [EMAIL PROTECTED] wrote: Excuse me, As said by Aarn Aadiri I forgot ... for the record, is it really hard to get my name spelt right? at least one of them? -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: mLearning Questionnaire
On 1/21/07, Mohammad Afshari [EMAIL PROTECTED] wrote: I would be thankful if you can participate in the following survey by clicking this link, to share your thoughts on this topic. http://www.psut.edu.jo/sites/zoubi/questionnaires/mlearning.html Thanking in advance for your time. a few comments and suggestions. 4. Occupation i would expand on the options for this, surely you can have more. 9,. Mobile Phone Model LG?, Sony Ericsson (different from Ericsson) and many others. you might want to try and identify the capabilities of their phones, not just the model. for example, j2me support? brew? if your going to provide learning, how will you deliver it? 10. Mobile phone use has use to surf net option twice. 12. PDA model first, you have a radio button - should be check boxes. some developers and people have more than one pda. also, your range is limited. palm pocket pc symbian linux other might be better options, allowing you to select more than one. i have 120+ handhelds, running all of the above operating systems. surely, i dont use them all at once, but i have a stash of 4-5 devices which i can choose based on my mood,. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PACE: FrmSetDIAPolicyAttr
On 1/21/07, Alexander R. Pruss [EMAIL PROTECTED] wrote: How about just doing the dumb-and-easy thing: Make a 68K pass-through wrapper for FrmSetDIAPolicyAttr() and making the callback go to the wrapper? It involves a touch more 68K code, and is slower (however since this is called once per form, that's not a big deal), but seems more elegant (no checking for particular devices, no direct fiddling with structures). too much work :) i avoid PACE because its slower - only use it when absolutely necessary. doing some 68K work requires messing with resources and stuff :) -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Treo 680 noise
n 1/22/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: What is the difference in buffer size? What should I do to fix this issue? have you written your own callback to process the WAV file? if so, make sure that you use the 'frameSize' variable to determine how many frames need to be writtten to the buffer. it is common that you may request 1024 frames, but actually must process 2048. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PACE: FrmSetDIAPolicyAttr
On 1/20/07, Alexander R. Pruss [EMAIL PROTECTED] wrote: Here's an interesting downside to calling the ARM APIs directly: I bet it wouldn't work under StyleTap--if anybody cares. (That said, I don't know how good in general their support for ARM-native code is. They do claim to support PNOlets.) i haven't tried to use styletap - so, unknown. in regards to this bugfix, unless they report their device as being a Tunsten T3 - the code should never be run. does anyone know what stype tap returns for the device + oem features? on a side note - 68k routines use the trap mechanism. ARM routines use a r9 table with offset to call native functions via function pointers. with the right coding; you could handle the ARM calls natively as well. styletap provides a convenience for lazy developers the reality is that windows mobile isn't that difficult to support natively, and there are plenty of docs out there to read from. now, i've spent the weekend homebrewing my PSP. i can tell you, its been fun, but not something i would recommend to anyone :) now my apps semi-run on the PSP :) just got a few things to tweak. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: How to cache images?
On 1/19/07, Horace Ho [EMAIL PROTECTED] wrote: The problem is how can I store a bitmap efficiently? Any chance I can FtrPtrNew some memory and store what is returned by BmpGetBits? Or there is a better way? did you try this? :) already solved it yourself before you hit the send button. but to answer your question; yes. it will work. you can either use a feature memory pointer, or create a large resource in a database on the storage heap. FtrPtrNew() is cleaner - a database of type/creator 'a68k/a68k' will be stored in the DbCache on NVFS devices - and will never be cached. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Http connection
On 1/19/07, Borszczuk [EMAIL PROTECTED] wrote: Only negative is it can only handle a max of 64k. The developer has promised a fix for this but I have not heard from him in a couple of weeks. If you can make them fix this by their own, then great. I've played with their library a few days ago and asked if they dealt with 64K limit, but they said that can be solved for $675. do you get source code access? fixing the 64K limit is really just a case of changing MemPtrNew with MemHandleNew (+flags) and uint16's to uint32's. $675? would be the cost for a once-of modification. sounds abuot right. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Fatal Alert when app commences on a real Dana, but not in POSE
On 1/18/07, Bruce Waters [EMAIL PROTECTED] wrote: I then tried putting the app on the SD expansion card in the /Palm/Launcher/ folder, to speed up the process. Inserting the card in the Dana I was shown the app icon in the Launcher window as expected, but as soon as I tapped it, the same Fatal Alert came up, and was only dismissable by a hard reset. what this sounds like is a compiler issue. the entry point to the application is the __Startup__ routine; which, codewarrior normally links by default against your application. with gcc tools; this is the crt0.c code - which, basically locks all your code segments down and allocates your globals. from that code; there is a call to PilotMain(), which is where your code starts. i would check a few things: - your code segment sizes make sure that they are relatively decent sized; a good indicator is to keep them around or below 32768 bytes in size; especially if you want to avoid the problems of jumping +/32K (limitation of 68k). if your code segments are larger; make more code segments. - your data segment size this is typically your globals; shouldn't be 64K - compiler should barf. - the location of PilotMain() PilotMain() much be +/- 32K within reach of the __Startup__ routine; and, most importantly - it must be in the code0001.bin segment if you want to handle resets correctly. you mention that when you reset it automatically gives another FATAL on reset? this is because the palmos is broadcasting reset notifications. you could have gotten around this with a cold reset. (reset + up) what you should do is move your PilotMain() to a seperate C file. make sure it gets linked as close as possible to the __Startup__ code and that it exists ONLY within the code0001.bin segment. - try your crashing app on POSE using the VFS emulation you shouldn't need to physically use the device for testing VFS. there is a hostfs.prc file you can install onto POSE which will allow you to test your functions. i would recommend you use a palm m505 based POSE environment, in my experience, thats probably the most stable VFS capable 68k device running under POSE. install hostfs.prc, emulate your memory card and try to run the program. you should do this with BOTH debug and release roms. - good luck :) its compiler bugs like this that make me want to use gcc, as i can control all of the items i mentioned above manually - something most people just wish the compiler would sort out for them (except when its buggy) :P -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: How to use the keyword 'class' in PODS?
On 1/18/07, xin zinicl [EMAIL PROTECTED] wrote: I want to use the C++ keyword 'class' in PODS, but the compiler told me 'parse error', why? Did PODS not support C++ syntax? you need to save your files as .cxx or .cpp i believe for it to consider your code C++ instead of C. this is something PODS inherits from its dependency on prc-tools, but i believe all compilers act the same way. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: A little C/C++ help: Keeping an object alive
On 1/17/07, Ron [EMAIL PROTECTED] wrote: static TBStructure Fields[40]; .. Fields[j].saveText(frmPtr, dbP); For some reason certain TBStructure objects in Fields won't call the saveText function. If anyone could help me I would be very grateful structures normally dont define functions in C. your thinking in Java still. an object in C++/Java is effectively a data structure with a number of associated methods/functions. in C, data and code tend to be seperate from each other. data: TBStructure field; function: void saveText(TBStructure, ...) { } you call it via: saveText(field, ...); now; if your a C expert; you can define a function pointer within a structure so that you can do something like this: field - saveText() but, thats way above your head right now. there is nothing wrong with learning Java at university level - heck, its a great language to learn the basic fundamentals of programming. you know how constructs work, how do use arithmetic and write basic inline C code with your java experience. you need to understand how C manages data and code together - and, for this i recommend you grab hold of a C programmers book. it will step you through some of the basics - questions of course are out of scope for this development forum. you may even want to consider using C++ instead of C - as, its closer to Java. a few websites for quick reference: http://en.wikipedia.org/wiki/C_(programming_language) http://en.wikipedia.org/wiki/C%2B%2B thats a starting point for you. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PACE: FrmSetDIAPolicyAttr
On 1/14/07, Lionscribe [EMAIL PROTECTED] wrote: Aaron, what do you use to debug the PACE native application? i have a routine called _SysDebugMessage(char str, boolean dialog); which i can call from my code which effectively either writes a message to a debug file or shows a custom dialog with information in it. kinda like using printf to debug a unix/windows command line program :) i also have some coding practices that allow me to identify exactly where a crash happens in the code - in addition to perform timing caculations. i have debugged this way for years; so, you get used to it. most debugging is done under visual studio in win32 when it comes to application logic - but, device specific debugging (hardware type things) is done using the above technique. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PACE: FrmSetDIAPolicyAttr
this (without the macros') UInt8 params[] = { (((UInt32)(formP) 24) 0xff), (((UInt32)(formP) 16) 0xff), (((UInt32)(formP) 8) 0xff), ( (UInt32)(formP) 0xff), (((UInt16)(diaPolicy) 8) 0xff), ( (UInt16)(diaPolicy) 0xff), }; ((EmulStateType *)g - PACE._emu) - regD[2] = 14; result = (Err)((Call68KFuncType *)g - PACE._68k) ((void *)g - PACE._emu, (0xA470 (0x0FFF)), params, sizeof(params) | (0)); the FrmSetDIAPolicyAttr is a selector based callback - riding of the D2 register; many API's share the same trap number (0xA470). dimitry; how does this differ from the manner in which you make the API call? you mention PceGet68KTrapHandler, thats something that obviously isn't officially public :) i see an entry for: extern Err PceGet68KTrapHandler(EmulStateRef emulState, UInt32 trapNumber, Pseudo68KCallAddrProcPtr *procPP); in the mobile-stream SDK headers; can you give an example of it being used? of course; PceGet68KTrapHandler() is an ARM only routine; in addition to its appropriate r9 table reference. you seem to be bypassing the offical way to call 68K from ARM directly - which is why it may work. the manner in which palmsource expects us to call it (as above); may actually be broken for FrmSetDIAPolicyAttr on a T3 -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PACE: FrmSetDIAPolicyAttr
On 1/14/07, Dmitry Grinberg [EMAIL PROTECTED] wrote: i do not know what mobilestream sdk says about it, but this method works nicely on every OS5 device. same thing works for all the other things you mentioned, furthermore this is not an r9 func - it's a library func provided by pace can you identify where this function is defined outside of the mobile-stream sdk? the only known PACE function is PceNativeCall in the default SDK. ideally; on the T3 - i would like to use the AIA functions directly - but, i'm trying to keep some form of standards in place; and, using the PINS manager is standard from 5.3+ - i just have to make it work with the 3rd party solutions that work on pre 5.3 the form modification direct on T3 does solve it - but, it doesn't explain why the PACE callback crashes - which, to me is a PACE bug. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PACE: FrmSetDIAPolicyAttr
On 1/14/07, Dmitry Grinberg [EMAIL PROTECTED] wrote: it is identified in the DLLs that come with the debug simulator :-) those dlls are quite useful to see how the os works ok, going back to my original statement: calling FrmSetDIAPolicyAttr() via PACE on a Tungsten|T3 with the DIA compatibility prc's installed gives the unit a FATAL EXCEPTION strange, works fine for me. i was documenting in the forum that calling FrmSetDIAPolicyAttr via the recommended PACE interface callback mechanism FAILS. you mentioned it works for you; however, your not using the standard mechanism - your using alternative methods (which, may be better) point is; the method your using isn't documented :) the following: --- UInt8 params[] = { (((UInt32)(formP) 24) 0xff), (((UInt32)(formP) 16) 0xff), (((UInt32)(formP) 8) 0xff), ( (UInt32)(formP) 0xff), (((UInt16)(diaPolicy) 8) 0xff), ( (UInt16)(diaPolicy) 0xff), }; ((EmulStateType *)g - PACE._emu) - regD[2] = 14; result = (Err)((Call68KFuncType *)g - PACE._68k) ((void *)g - PACE._emu, (0xA470 (0x0FFF)), params, sizeof(params) | (0)); --- with: --- // we may need these if we have to use PACE for something g - PACE._68k = (void *)call68K; g - PACE._emu = (void *)emustate; --- initialized from the PNO entry point this is the recommended way to call the specific FrmSetDIAPolicyAttr 68k API from ARM (as per the PceNativeCall documentation). this is broken on a T3 with the DIA compatibilty prc's installed while you may have a working solution using another undocumented API - my original email was to point out the recommended method was busted (maybe a bug on T3 directly) -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PACE: FrmSetDIAPolicyAttr
On 1/14/07, Lionscribe [EMAIL PROTECTED] wrote: Aaron, you are a Master of White Papers. Maybe you write a short white paper on the basics of PASCE native programming, like what enviroment to use, what libraries, and so forth. I am sure it will be greatly appreciated by many. i've considered it. in fact, i really only started this post to let people know that the standard PACE callback mechanism was buggy on a T3 specifically for the DIA compatibility prc's - the fact that i also posted a fix is another thing, but it bugged me for a while. a lot of good information is posted within the mobile-stream SDK http://news.palmos.com/read/messages?id=193247 however, it doesn't explain how it truely works - we knew most of the information prior to the above SDK being shipped - and, in fact the mobile stream guys gave us a few ideas of our own :) writing your palmos application natively isn't difficult at all - you just need to know your compiler and how to give it what you need. for one thing; if you are intending on going native; you definately DO NOT want to know or depend on the internal representation of structures - the 68K and ARM counter parts can differ big time! its difficult to write a white paper on something like this without rewriting the complete SDK honestly. for what its worth; i dont really have the time to do something like that. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
PACE: FrmSetDIAPolicyAttr
i dont know how many people may find this useful - but, i thought i would post it here for archive purposes anyhow; i know i spent long enough on it. if your the type like me who likes to move the whole application, including the event loop to an PACE native object (ARM) and, you are expect to use the dynamic input areas of the T3 (with DIA compatibility prc's installed), you will need this code. calling FrmSetDIAPolicyAttr() via PACE on a Tungsten|T3 with the DIA compatibility prc's installed gives the unit a FATAL EXCEPTION, however calling the API from 68k directly works fine. Err FrmSetDIAPolicyAttr_PACE(FormType *formP, UInt16 diaPolicy) { Err result; // Tungsten|T3:: PACE callback fails (FATAL EXCEPTION) if ((g - ftr.comID == 'Palm') (g - ftr.devID == 'Arz1')) { uint16 *p; // FormAttrType exists at 40 bytes inside the form type structure // // default: 0x0041 0x0230 // custom: 0x0041 0x0211 -- flags changed p = (uint16 *)formP; p += 21; if (diaPolicy == frmDIAPolicyCustom) *p = 529; // 0x211 else *p = 560; // 0x230 result = errNone; } else { PACE_PARAMS_INIT() PACE_PARAMS_ADD32(formP) PACE_PARAMS_ADD16(diaPolicy) PACE_PARAMS_DONE() PACE_EXEC_SELECTOR(pinFrmSetDIAPolicyAttr) result = (Err)PACE_EXEC(sysTrapSysPinSelector, 0) } return result; } this is definately a hack-in-place for the Tungsten|T3 - but, it is the only way someone will be able to call the FrmSetDIAPolicyAttr from within your PACE native object on an ARM unit (may not work on x86 - offsets diff?) if you dont call FrmSetDIAPolicyAttr - you can press the DIA up/down buttons and it simply returns to the open position because the form doesn't have these attributes set internally. i wonder how many native-ARM secrets i could find to post here :) -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm Certification ???
On 1/9/07, Shruti Wadhwa [EMAIL PROTECTED] wrote: Hi All, I don't know whether to post this here or not, but i really need your views. I just want to know that how effective is Palm Certification ? Should i go for it or not ? I am in dilema , please send your views so that i can set my vision. certification for any platform is always a good idea. the palm certification exams are very pre-garnet specific; written back before ARM devices were available on the market - the exams focus on the basic platform architetcure; which, palmsource has kept compatability support in ARM (via PACE); and through ALP (via GHOST) when ALP hits the market officially - one needs to know if the manner in which palmos applications is written is going to change; and, if so - how significantly. there may be a need for: - Palm OS Garnet Certification - Palm OS ALP Certification but, honestly - if you take a look at the number of developers who are actually certified: http://www.palmos.com/dev/certification/ its probably around 100 total - not everyone wants their name listed. most of these developers are also self-made companies :) so, its not like getting a palmos job requires you to have certification. it may help some self-made companies as consultants however. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: FrmRemoveObject crashing on 4.x and 3.x OS
On 12/20/06, Ben Combee [EMAIL PROTECTED] wrote: On 12/20/06, V. Sriram [EMAIL PROTECTED] wrote: hi everyone, i'm having trouble using FrmRemoveObject. i have dynamically created a field and while closing the form, i remove the field using FrmRemoveObject. this code works perfectly on Tungsten running 5.4 version. but same code crashes in treo 180 and M150 running 3.5 and 4.1 versions respectively. here's my code snippet: All of the dynamic form code was very buggy on Palm OS 3.5 and 4.x. You can only remove things in the reverse order of adding them, and even then it sometimes fails. If you're just doing this at form close, just don't remove it at all -- it will be removed automatically by unloading the form. i had a project that i managed to keep stable - but, ben is right. its very flaky. if you do things right, you wont run into any problems. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: FrmRemoveObject crashing on 4.x and 3.x OS
On 12/20/06, Dmitry Grinberg [EMAIL PROTECTED] wrote: on pre-os5 code you can use the docs to write your own remove function that works, if you really need it. but in general, why not just hide whatever you need to remove? this is pretty much what i did.. i dont hide what i dont need - because i simply dont know at compile time what my user interface was going to contain. it was a 100% scripted application that would build UI's based on script values.. super fun. in these types of projects; dynamic UI is essential. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: What math functions are available in the palm api
On 12/20/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: does it support square root, exponents, multiplication, division What place of decimal accuracy is supported? google + mathlib + palm -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Playing Sound file .midi
On 12/19/06, Anoop [EMAIL PROTECTED] wrote: Hii Seliga,, I have been developing on palm application in Life Drive. Does Life Drive support .midi files. Actually the resources am having is all .midi files.. you need a 3rd party sound/audio library to support midi files. i know of ONE available (ours) - midi files are a little cumbersome to deal with; especially since the instruments need to be stored seperately. http://www.mobilewizardry.com/palm/fidelity/index.php some examples of projects that use fidelity: http://www.mobilewizardry.com/press/20030901-outlook.php http://www.mobilewizardry.com/press/20030930-xengames.php if you want to try an alternative music format; you can try .mod files - they'll package together cleaner - and, i would recommend the modula library (from indus3) over aurora if your looking for performance. http://modula.indus3.org/ http://www.astraware.com/technology/aurora/ these libraries can be expensive - especially if you think about what it would take to write yourself. if your doing a commercial project; its easy to budget that stuff in - if its a shareware/private project - you may want to consider alternative audio :) or, write your own. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Playing Sound file .midi
On 12/19/06, Hynek Sladky [EMAIL PROTECTED] wrote: How is this on treo? HsAPI has some functions for playing MIDI... Hynek Sladky the midi playback on palmos by default is restricted. the HsAPI implements some form of better playback - however, its restricted to a predefined set of instruments. if you want to check it, listen to a midi on the desktop (windows/mac); then, play it back as a ring tone on the treo. you'll hear two different things. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: App crash when other segment function called
On 12/19/06, Borszczuk [EMAIL PROTECTED] wrote: Donald C. Kirker wrote: Might I recommend using multilink? I use it and it handles multi-segment stuff really well. Not sure about with being a plugin taking custom launch codes, but it should work the same. According to the project website it shall work. But I need to find some time to build multilink first (it does not complile out of the box here). Anyone got multilink built for linux maybe? download it - and, try to compile it. last time i did that, i was using a solaris machine and i had to make a small code change for it to compile and execute (gave segmentation fault); but, it wasn't that hard to track down the bug. the core is there - you should be able to get it working easily. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Playing Sound file .midi
On 12/20/06, Aswathi [EMAIL PROTECTED] wrote: hi all,, Can we use the SndPlaySmfResource to play .mid file saved in the resource ? read what i mentioned below. if you want desktop quality midi playback; you NEED a 3rd party library - thats just the way it is. there is no API. Aaron Ardiri wrote: On 12/19/06, Hynek Sladky [EMAIL PROTECTED] wrote: How is this on treo? HsAPI has some functions for playing MIDI... Hynek Sladky the midi playback on palmos by default is restricted. - by default; midi playback is tone-deaf. the HsAPI implements some form of better playback - however, its restricted to a predefined set of instruments. if you want to check it, listen to a midi on the desktop (windows/mac); then, play it back as a ring tone on the treo. you'll hear two different things. the treo devices do a little bit better - but, still dont do it perfectly. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PalmResize release
On 12/15/06, roderick young [EMAIL PROTECTED] wrote: Thanks for all your work on this very useful package! I noticed in resize.c, there's a forward declaration for the function, static UniqueUpdateForm(...) which my compiler assumes is type int, and later generates a warning when the real function is of type void. Is the forward declaration necessary? just change it to: static void UniqueUpdateForm(...) its a common error to forget the return type on functions; and, by default they are assumed to be int's under C/C++. making it void corrects the issue. -- // Aaron Ardiri -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/