Re: Palm OS Developer Su?te - Now Available ?
On Monday 16 February 2004 04:19 pm, Keith Rollin wrote: Seriously, I stayed away from the cygwin stuff for many years, wondering why I should encumber my systems with that old cruft. Now that I've installed them and had a chance to play with them, I can't imagine having a development system without them. Now I don't have to switch over to MPW on my Mac any more... :-) I was using a client's Windows system for development for a week, using cygwin prc-tools etc. It's still quite slow when compared to using prc-tools from a unix-like box. It left me very frustrated in that I couldn't finish the job during that week. Both machines are about the same; mine is an Athlon 1700 running Linux, and the Windows box was a Celeron 1.8Ghz. Prc-tools with Linux is 9 seconds to build my project, whereas prc-tools (cygwin) on Windows XP was 180 seconds. Isn't that peculiar. I'd laugh, but it can truly impact the amount of work you can get done in a day. I love cygwin, and the awesome package manager/installer. Though I hope someday the cygwin stuff can be made faster. -- /* Chris Faherty [EMAIL PROTECTED] */ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Su?te - Now Available ?
I love cygwin, and the awesome package manager/installer. Though I hope someday the cygwin stuff can be made faster. i think, the speed issues maybe related to the OS - not to the software specifically within cygwin. windows XP chews more resources than linux. :) give your windows XP box more ram, and - its faster :) my laptops use a minimum of 768Mb of ram these days - takes no time to compile my prc-tools projects :) and, on a slowish 1.2GHz PIII :) --- Aaron Ardiri PalmOS Certified Developer [EMAIL PROTECTED] http://www.mobilewizardry.com/members/aaron_ardiri.php -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Float and 64-bit alignment and endianness in ARM
At 12:55 AM 2/17/2004, you wrote: At the dev con, I was reminded that in ARM code, not only had 2-byte integers be aligned on 16-bit boundaries, but 4-byte integers also had to be aligned on 32-bit boundaries. What about 8-byte integers? On 64-bit boundaries? Does this apply to floating point data as well, eg. 4-byte floats on 32-bit boundaries and 8-byte doubles on 64-bit boundaries? The ARM4T architecture only requires 4-byte alignment. On some ARM cores with FP support, double math is faster with quantities aligned on an 8-byte boundary, but there shouldn't be any access issues. Lastly, does ARM little endianness affect floats and doubles or are these endianness-independent formats? Yes, these format are endian-reversed from 68K. (BTW, it was good to meet you last week! Your app really is impressive.) -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Round...
At 01:39 AM 2/17/2004, you wrote: There is any way(function) in CodeWarrior 9.2 to round a double? Something like round(3.213.123,4598 ; precision) = 3.213.123,46... without using strings. I tried: #include math.h double round(double) but no use. Sounds like you need MathLib. See the CW project wizard -- its a shared library that implements floating point math functions. More docs in CW for Palm OS Support/(Other SDKs)/MathLib. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Su?te - Now Available ?
On Tuesday 17 February 2004 03:08 am, Aaron Ardiri wrote: i think, the speed issues maybe related to the OS - not to the software specifically within cygwin. windows XP chews more resources than linux. :) give your windows XP box more ram, and - its faster :) my laptops use a minimum of 768Mb of ram these days - takes no time to compile my prc-tools projects :) and, on a slowish 1.2GHz PIII :) It doesn't really seem to be doing much.. it just takes forever to compile. I still think it is something not implemented efficiently. I was using a 2.4GHz P4 Windows XP laptop and it was still many times slower than my cheap Athlon and Linux.. though it was fast enough. On my box, I also have a Windows 98SE running inside of win4lin. When I compile in native Linux it is 19 seconds. Using win98se in win4lin it is 5 minutes. Hardly any activity noticable during the compile.. the hard disk blinks maybe once every 5 seconds. It's just painfully slow. I think it may have something to do with console programming in win32. I seem to recall an old console project which gained a considerable speedup by simply making it window-based. I fear that the win32 console stuff is performance crippled in some way. -- /* Chris Faherty [EMAIL PROTECTED] */ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Export Controlled ROMs
It seemed to be a bug, but in Devarea the IP address of Export Controlled ROMs is 192.168.*.* (Internal address) How to download PalmOS 4.1 ROMS ??? TNX -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: simple numeric computation
--- [EMAIL PROTECTED] wrote: I am currently trying to write up a program in metrowerks and link it to Simulator. This i have achieved, however i am trying to take the numbers i have entered in the numeric text field and simply add them. can anyone please help!! Are you having a specific problem with your code or just not sure how to add two numbers entered as text? A skeleton would be: - obtain a reference to the text buffer for the field, - that gives you a string to pass to StrAToI (assuming all necessary defensive coding). That's fine for integers but for real numbers you'll need another conversion function (I'm sure they've been posted to this forum before), - do this for both fields to get two numbers, - add the numbers. Chris Tutty Hi Chris, i think that you change the numbers in the text fields to numeric values, i'm having probles calling these from the c program itself just to add them. i have generated a stationart project and i'm trying to input this code, (to add two numbers) into it. Can you help This message was sent using InSPire Net Webmail. http://www.inspire.net.nz -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ ___ BT Yahoo! Broadband - Free modem offer, sign up online today and save £80 http://btyahoo.yahoo.co.uk -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
icon resource from system
Hi, I want to load a icon resource ('Tbmp'(?);1004-1007) from the system at runtime? Is there any way? Please help, thanks. Ralf -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Linking Question?
hi, I've written up a simple code for adding two numbers in turbo c, and was wondering do i link the whole code or do i have to break it up and enter it into my stationary project? can anyone help. Thanks ___ BT Yahoo! Broadband - Free modem offer, sign up online today and save £80 http://btyahoo.yahoo.co.uk -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
How to beam a application and its database?
Hi, I have a palm application with a small database. When I beam the application through the app-beam option, only the application is getting beamed. The database is not getting beamed. What should I do to beam the database with the application? Thank you for any valuable suggestion... Girish. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
RE: Linking Question?
Hi, I had written a palm application which adds 2 numbers. I developed it using code warrior without using any wizard. I had send the source code as zip file to the group and it has not yet reached its destination. I'm sending the source code thru this mail. Hope its useful to u. #include PalmOS.h //palm os header file #include addtwonumbers_res.h //resource header file //global variables to store values entered in text boxes MemHandle g_hNumber1 = NULL; MemHandle g_hNumber2 = NULL; //function declarations static void StartApplication(void); static void StopApplication(void); static void EventLoop(void); static Boolean ApplicationHandleEvent(EventPtr); static Boolean MainFormHandleEvent(EventPtr); //startup function equivalent to main() in c program UInt32 PilotMain(UInt16 launchcode,MemPtr cmdpbp,UInt16 launchflags) { switch(launchcode) { //default launch flag sent by os to application signifying a normal launch case sysAppLaunchCmdNormalLaunch: StartApplication(); EventLoop(); StopApplication(); break; default: break; } return 0; } //use this function to do all startup activities //like initializing global vairables and database connections static void StartApplication() { Char *strtemp = NULL; //initialize global variables if(!g_hNumber1) { g_hNumber1 = MemHandleNew(10); strtemp = (Char *)MemHandleLock(g_hNumber1); StrCopy(strtemp,0\0); MemHandleUnlock(g_hNumber1); } if(!g_hNumber2) { g_hNumber2 = MemHandleNew(10); strtemp = (Char *)MemHandleLock(g_hNumber2); StrCopy(strtemp,0\0); MemHandleUnlock(g_hNumber2); } FrmGotoForm(MainForm); } //use this function to do all cleanup activities static void StopApplication() { //destory global vairables if(g_hNumber1) MemHandleFree(g_hNumber1); if(g_hNumber2) MemHandleFree(g_hNumber2); } //this function implements the message pump of the application static void EventLoop() { EventType event; do { //get event in the message pump //evtWaitForever means this function will block till a event is received EvtGetEvent(event,evtWaitForever); //this function will return true if event is a system event and it has been processed if(!SysHandleEvent(event)) { //this function will return true if event is a application specific event and it has been processed if(!ApplicationHandleEvent(event)) { //event sent to individual form event handlers FrmDispatchEvent(event); } } }while(event.eType != appStopEvent); } //use this function to handle application specific events like switching forms etc static Boolean ApplicationHandleEvent(EventPtr event) { //local variables FormType *form = NULL; UInt16 formid =0; Boolean bhandled = false; //boolean flag to signify whether a particular event has been handled switch(event-eType) { //catch event sent by FrmGotoForm() case frmLoadEvent: //get formid formid = event-data.frmLoad.formID; form = FrmInitForm(formid); FrmSetActiveForm(form); //set event handler for form switch(formid) { case MainForm: FrmSetEventHandler(form,MainFormHandleEvent); //signify that this event has been handled bhandled = true; break; default: break; } break; } return bhandled; } //event handler function for the main form. like that u will be having event handler functions for all forms u have in ur application static Boolean MainFormHandleEvent(EventPtr event) { //local variables FormType *form = NULL; FieldType *field = NULL; Boolean bhandled = false; MemHandle oldhandle = NULL; Int32 Number1 = 0; Int32 Number2 = 0;
Re: TimGetSeconds and TimGetTicks
Michael Jones wrote: I need to do a timer in my program with precision greater than seconds. I am aware of TimGetTicks, but was unsure how predictable this is. The way the API reads makes me think that SysTicksPerSecond can return different results at different times - which, over the period of time that is being tracked, might fluctuate and distort the results if my end calculation depends on consistently timed SysTicks being produced. Consider the following pseudo-code: startTime = SysGetTicks(); ...then once timer is over doing the following: endTime = SysGetTicks(); elapsedTime = endTime - startTime; numSeconds = elapsedTime / SysTicksPerSecond runRemainder = (elapsedTime % SysTicksPerSecond) * 100 Is this reliable? Anyone have something they have used? Thanks! Mike Yes, this is what we are doing too and it's reliable as long as the device stays awake. The result given by SysTicksPerSecond() will be constant on any given platform. It may vary between platforms, but that's actually the whole point. Some platforms count milliseconds, others count centiseconds, and the Mac simulator counts Mac OS ticks == 1/60 s. Note the that SysTicksPerSecond() is an OS function while sysTicksPerSecond is a compile-time macro. Also, it seems to me that the emulator counts _emulated_ ticks, not wallclock time ticks, so if you break into the debugger the tick counter will simply freeze. Don't know if this is true when device debugging though. IIRC, I also got very similar results running benchmarks on a real M505 and on an emulated M505. --Martin -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
sysAppLaunchCmdNormalLaunch question
i need to call a small app form my big app send some parameters and then returning back to the posion i called the small app form the big one i´m doing a sysAppLaunch call passing sysAppLaunchCmdNormalLaunch but i get a fatal exeption in my small app when i run it withou beeing called from the big app lit runs fine i remeber something about globas in nomallaunch i have too globals that its hard to change then is that the problem? if so, how can i use the globals? thnx -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: sysAppLaunchCmdNormalLaunch question
I had a problem using Char * globals. But then I just changed them to Char[] and it worked fine. So if you have Char * globals you might try this. :) Alexandre Luz Barreto [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] i need to call a small app form my big app send some parameters and then returning back to the posion i called the small app form the big one i´m doing a sysAppLaunch call passing sysAppLaunchCmdNormalLaunch but i get a fatal exeption in my small app when i run it withou beeing called from the big app lit runs fine i remeber something about globas in nomallaunch i have too globals that its hard to change then is that the problem? if so, how can i use the globals? thnx -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: sysAppLaunchCmdNormalLaunch question
thanx but my globals are typedef struct Nodo { unsigned char elemento; UInt32 freq; Nodo *dir,*esq,*cima; }; Nodo ListaNodos[600]; Nodo *Indice[600]; christer wrote: I had a problem using Char * globals. But then I just changed them to Char[] and it worked fine. So if you have Char * globals you might try this. :) Alexandre Luz Barreto [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] i need to call a small app form my big app send some parameters and then returning back to the posion i called the small app form the big one i´m doing a sysAppLaunch call passing sysAppLaunchCmdNormalLaunch but i get a fatal exeption in my small app when i run it withou beeing called from the big app lit runs fine i remeber something about globas in nomallaunch i have too globals that its hard to change then is that the problem? if so, how can i use the globals? thnx -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Pressing the SELECT button on T|T resets Palm
I have an application and it has an About screen. On the About screen is one button, OK. If the T|T SELECT button is pressed briefly, the Palm resets. Make sure you don't have a graphical button on the modal form. This does cause a TT to reset when Select is pressed, but if you handle the keyDownEvent for the Select button in your event handler you can prevent it (in the handler you can queue a ctlSelectEvent for the OK button). I think only the TT has this problem; it works OK on T3s and other devices AFAIK. Doug Gordon GHCS Software -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Database creation
Im confused about creating a database When you use Err err = DmCreateDatabase(DB_CARDNO, DB_NAME, DB_CREATOR, DB_TYPE, false); this creates a database but no fields are defined How do you actualy define the fields in the database thanks -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: How to use ScrollBar in Table??
You can get a example using the listctrl with scrollbar from the following url: http://www.msale.net/MobileFile/MK2004021700.zip Maybe it can give you some help.Good luck! Regards, Miken -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Database creation
At 07:27 AM 2/17/2004, you wrote: Im confused about creating a database When you use Err err = DmCreateDatabase(DB_CARDNO, DB_NAME, DB_CREATOR, DB_TYPE, false); this creates a database but no fields are defined How do you actualy define the fields in the database You don't. Standard Palm OS databases do not have fields. Instead, think of the database as an array of binary objects, where each binary object it just a memory handle pointing to a chunk of data. The interpretation of the chunk is up to the program; the OS doesn't do any interpretation for you. There actually are a couple of fields in the chunk header -- a unique ID for the record and a few bits to set a category, but other than that, it's just data. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
RE: Database creation
Hi, First of all palm database is not exactly a database. Writing to palm database is like writing a structure to a file using fwrite() function in c. Going by this logic, U will be having a structure for which u will create a instance and fill the data members. Using DmNewRecord() u will get a memory handle to the new record. U will lock the memory handle and using Dmwrite() u will assign the instance of structure to the memory handle and unlock the memory handle. After that u will use DmReleaseRecord() to release the record u have newly created. Hope this helps... Girish. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of druid Sent: Tuesday, February 17, 2004 6:57 PM To: Palm Developer Forum Subject: Database creation Im confused about creating a database When you use Err err = DmCreateDatabase(DB_CARDNO, DB_NAME, DB_CREATOR, DB_TYPE, false); this creates a database but no fields are defined How do you actualy define the fields in the database thanks -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
PalmOS 4.1 x PalmOS 5.2
Hi All, I have one problem here. My codewarrior application that I make for the Zire PalmOS 4.1 not work on new Zire 21 PalmOS 5.2. The application is simple, and just send characters to the infrared port. This is the source: begin Err err; UInt16 portId; UInt32 toSend, NumSent; SrmOpen(serPortIrPort,9600,portId); SrmControl(portId, srmCtlIrDAEnable, NULL, 0); toSend = StrLen(teste123); NumSent = SrmSend(portId,teste123, toSend, err); SrmSendWait(portId); SrmControl(portId,srmCtlIrDADisable,NULL,0); SrmClose(portId); end This source is make in codewarrior v9.2 and work fine in any OS4.1, but not in the new OS5.2 like zire 21. Anyone can help me? Please?! very tanks. Alexandre Teodoro Guimarães [http://alexguim.cjb.net] Analista de Sistemas GM Soluções [http://www.gmsolucoes.com.br] ICQ: 282-168-268 Messenger: [EMAIL PROTECTED] Brasil -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Database creation
You may be confusing the Palm file structure (referred to as a 'database') with a traditional database with tables. Read over the 'Data and Resource Manager' section in the SDK reference. You should also look over a few of the examples included in the Palm SDK. (hint: reading about DmNewRecord or DmAttachRecord would help) - Original Message - From: druid [EMAIL PROTECTED] To: Palm Developer Forum [EMAIL PROTECTED] Sent: Tuesday, February 17, 2004 8:27 AM Subject: Database creation Im confused about creating a database When you use Err err = DmCreateDatabase(DB_CARDNO, DB_NAME, DB_CREATOR, DB_TYPE, false); this creates a database but no fields are defined How do you actualy define the fields in the database thanks -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Round...
If you know the number of decimal places you require you can round the number yourself. i.e. if you require 2 places use: RoundedNo = 3,213,123.4590 + 0.005 you will get 3,213,123.46 (ignoring the decimals places beyond the 2nd) If you are working with money, you should stick with integers as you will loose precision (and change). Either scale a long or use two integers. - Original Message - From: Mihai Ciornei [EMAIL PROTECTED] To: Palm Developer Forum [EMAIL PROTECTED] Sent: Tuesday, February 17, 2004 2:39 AM Subject: Round... There is any way(function) in CodeWarrior 9.2 to round a double? Something like round(3.213.123,4598 ; precision) = 3.213.123,46... without using strings. I tried: #include math.h double round(double) but no use. Thanks for any help I get. Regards, Ciornei Mihai - Bogdan, Analyst programmer TRANSART ltd (www.transart.ro) -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Satellite Forms
Use the serial port extension and bar code extension included with your copy of Satellite Forms. Its all installed on your PC. - Original Message - From: Sol [EMAIL PROTECTED] Newsgroups: palm-dev-forum To: Palm Developer Forum [EMAIL PROTECTED] Sent: Monday, February 16, 2004 5:14 PM Subject: Satellite Forms Hi all, Can you write an application, which uses Serial/Modem cradle to communicate, by using Satellite Forms? What I am trying to do is sending and receving data using this Serial/Modem cradle. The rest of the program is just colleting data by scanning product's barcodes. Is Satellite Forms able to call scanner functions for Symbol SPT1550? The hardwares we are using is Symbol SPT 1550 and Symbol Serial/Modem Cradle. Thanks in advance, Sol -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Compiling CryptoDrvr w/ PRC-Tools...
Hi All, I'm trying to build the sample Virtual Device Driver, CryptoDrvr, using PRC-Tools.. So far it's not going too well :-\ I've already fixed the function prototypes. The biggest problem is getting the Makefile and .def files right. I can't find the docs for .def files, and I'm sure that's a critical part of it. I tried looking at it like a library, and it compiled, but it has problems when it starts up. What's the right way to do the .def file, and are there any other Virtual Device Driver samples out there? Thanks, Joe Siebenmann __ Do you Yahoo!? Yahoo! Finance: Get your refund fast by filing online. http://taxes.yahoo.com/filing.html -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PalmOS 4.1 x PalmOS 5.2
Maybe you should be using the new serial manager ? -- J. Machado -- [EMAIL PROTECTED] Alexandre Teodoro Guimarães escreveu: Hi All, I have one problem here. My codewarrior application that I make for the Zire PalmOS 4.1 not work on new Zire 21 PalmOS 5.2. The application is simple, and just send characters to the infrared port. This is the source: begin Err err; UInt16 portId; UInt32 toSend, NumSent; SrmOpen(serPortIrPort,9600,portId); SrmControl(portId, srmCtlIrDAEnable, NULL, 0); toSend = StrLen(teste123); NumSent = SrmSend(portId,teste123, toSend, err); SrmSendWait(portId); SrmControl(portId,srmCtlIrDADisable,NULL,0); SrmClose(portId); end This source is make in codewarrior v9.2 and work fine in any OS4.1, but not in the new OS5.2 like zire 21. Anyone can help me? Please?! very tanks. Alexandre Teodoro Guimarães [http://alexguim.cjb.net] Analista de Sistemas GM Soluções [http://www.gmsolucoes.com.br] ICQ: 282-168-268 Messenger: [EMAIL PROTECTED] Brasil -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Vibration and Zodiac
Hi to all, Does anybody know how to use Vibration on a PDA that has it? (Like Zodiac!) I can't find any command in API! where should I look? Thanks Giorgos Do You Yahoo!? @yahoo.grhttp://www.otenet.gr -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
RES: PalmOS 4.1 x PalmOS 5.2
ok, I try to use: MemSet(ser, sizeof(ser), 0); ser.baud = 9600; ser.function = serFncUndefined; err = SrmExtOpen(serPortIrPort, ser, sizeof(ser),portId); but zire 21 isn´t responding... zire 21 don´t do nothing... I try the same in Palm III with OS 4.1 and everythink ok... palm send ok by ir! now what?! I need to change more something? i don´t know what I can do now! :/ Alexandre -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de José dos Santos Machado Enviada em: terça-feira, 17 de fevereiro de 2004 12:09 Para: Palm Developer Forum Assunto: Re: PalmOS 4.1 x PalmOS 5.2 Maybe you should be using the new serial manager ? -- J. Machado -- [EMAIL PROTECTED] Alexandre Teodoro Guimarães escreveu: Hi All, I have one problem here. My codewarrior application that I make for the Zire PalmOS 4.1 not work on new Zire 21 PalmOS 5.2. The application is simple, and just send characters to the infrared port. This is the source: begin Err err; UInt16 portId; UInt32 toSend, NumSent; SrmOpen(serPortIrPort,9600,portId); SrmControl(portId, srmCtlIrDAEnable, NULL, 0); toSend = StrLen(teste123); NumSent = SrmSend(portId,teste123, toSend, err); SrmSendWait(portId); SrmControl(portId,srmCtlIrDADisable,NULL,0); SrmClose(portId); end This source is make in codewarrior v9.2 and work fine in any OS4.1, but not in the new OS5.2 like zire 21. Anyone can help me? Please?! very tanks. Alexandre Teodoro Guimarães [http://alexguim.cjb.net] Analista de Sistemas GM Soluções [http://www.gmsolucoes.com.br] ICQ: 282-168-268 Messenger: [EMAIL PROTECTED] Brasil -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
RE: Vibration and Zodiac
Try the Tapwave SDK. There isn't a Palm OS rumble API, its a licensee thing. Make sure you do appropriate checks before calling any device specific APIs. You can sign up for the Tapwave developer program at www.tapwave.com. From there you can download the SDK and documentation. Also, you can ask Zodiac specific questions on their forums, the Tapwave employees are very helpfull. Once you get the docs, look for the section titled Rumbler Virtual Device. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Giorgos Sarris Sent: Tuesday, February 17, 2004 9:14 AM To: Palm Developer Forum Subject: Vibration and Zodiac Hi to all, Does anybody know how to use Vibration on a PDA that has it? (Like Zodiac!) I can't find any command in API! where should I look? Thanks Giorgos Do You Yahoo!? A?ieo?ooa oc aunaUi @yahoo.gr aeayeoioc oao ooi http://www.otenet.gr -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: PalmOS 4.1 x PalmOS 5.2
Zire 21 is a OMAP processor based device. OMAP processor can not send real RAW data to the IR port. (at least not without some formating caracters) Search the forum and also the comm-dev-forum, there is a lot of posts regarding this issue. -- Regis St-Gelais www.laubrass.com -- Alexandre Teodoro Guimarães [EMAIL PROTECTED] a écrit dans le message de news:[EMAIL PROTECTED] Hi All, I have one problem here. My codewarrior application that I make for the Zire PalmOS 4.1 not work on new Zire 21 PalmOS 5.2. The application is simple, and just send characters to the infrared port. This is the source: begin Err err; UInt16 portId; UInt32 toSend, NumSent; SrmOpen(serPortIrPort,9600,portId); SrmControl(portId, srmCtlIrDAEnable, NULL, 0); toSend = StrLen(teste123); NumSent = SrmSend(portId,teste123, toSend, err); SrmSendWait(portId); SrmControl(portId,srmCtlIrDADisable,NULL,0); SrmClose(portId); end This source is make in codewarrior v9.2 and work fine in any OS4.1, but not in the new OS5.2 like zire 21. Anyone can help me? Please?! very tanks. Alexandre Teodoro Guimarães [http://alexguim.cjb.net] Analista de Sistemas GM Soluções [http://www.gmsolucoes.com.br] ICQ: 282-168-268 Messenger: [EMAIL PROTECTED] Brasil -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
RES: PalmOS 4.1 x PalmOS 5.2
tanks by the reply.. sorry but I can not understand how I can find information searching... I´m new, sorry! or maybe.. you can send me some example of this insue... tanks again. -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de Regis St-Gelais Enviada em: terça-feira, 17 de fevereiro de 2004 12:36 Para: Palm Developer Forum Assunto: Re: PalmOS 4.1 x PalmOS 5.2 Zire 21 is a OMAP processor based device. OMAP processor can not send real RAW data to the IR port. (at least not without some formating caracters) Search the forum and also the comm-dev-forum, there is a lot of posts regarding this issue. -- Regis St-Gelais www.laubrass.com -- Alexandre Teodoro Guimarães [EMAIL PROTECTED] a écrit dans le message de news:[EMAIL PROTECTED] Hi All, I have one problem here. My codewarrior application that I make for the Zire PalmOS 4.1 not work on new Zire 21 PalmOS 5.2. The application is simple, and just send characters to the infrared port. This is the source: begin Err err; UInt16 portId; UInt32 toSend, NumSent; SrmOpen(serPortIrPort,9600,portId); SrmControl(portId, srmCtlIrDAEnable, NULL, 0); toSend = StrLen(teste123); NumSent = SrmSend(portId,teste123, toSend, err); SrmSendWait(portId); SrmControl(portId,srmCtlIrDADisable,NULL,0); SrmClose(portId); end This source is make in codewarrior v9.2 and work fine in any OS4.1, but not in the new OS5.2 like zire 21. Anyone can help me? Please?! very tanks. Alexandre Teodoro Guimarães [http://alexguim.cjb.net] Analista de Sistemas GM Soluções [http://www.gmsolucoes.com.br] ICQ: 282-168-268 Messenger: [EMAIL PROTECTED] Brasil -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Compiling CryptoDrvr w/ PRC-Tools...
In article [EMAIL PROTECTED], Joe Siebenmann wrote: Hi All, I'm trying to build the sample Virtual Device Driver, CryptoDrvr, using PRC-Tools.. So far it's not going too well :-\ I've already fixed the function prototypes. The biggest problem is getting the Makefile and .def files right. I can't find the docs for .def files, and I'm sure that's a critical part of it. I tried looking at it like a library, and it compiled, but it has problems when it starts up. What's the right way to do the .def file, and are there any other Virtual Device Driver samples out there? The .def file syntax is described in the prc-tools documentation. You should have a copy on your computer. For the on-line version look at http://prc-tools.sourceforge.net/doc/prc-tools_4.html HTH Ton van Overbeek -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
RES: PalmOS 4.1 x PalmOS 5.2
I try a new way to access ir in PalmOS 5.2 and I got something... I use sysFileCVirtIrComm like... ... SrmOpen(sysFileCVirtIrComm,9600,portId); ... Then I see many strange characters sended by the Zire 21... so now IR port is working, but I have a problem. I don´t wanna use this IRComm protocol... I need my pure characters that I send. How I can disable the IRComm protocol? or have another way to send for example teste123 and receive teste123? because with this IRComm protocol I send teste123 and receive something like ¬¢£¢¬£³²²¹¹¹³££¢£¢¢£³£³££³£³£IrCOMM²³£££¢£¢¬£¬¬¬¢ tanks everybody! -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de Regis St-Gelais Enviada em: terça-feira, 17 de fevereiro de 2004 12:36 Para: Palm Developer Forum Assunto: Re: PalmOS 4.1 x PalmOS 5.2 Zire 21 is a OMAP processor based device. OMAP processor can not send real RAW data to the IR port. (at least not without some formating caracters) Search the forum and also the comm-dev-forum, there is a lot of posts regarding this issue. -- Regis St-Gelais www.laubrass.com -- Alexandre Teodoro Guimarães [EMAIL PROTECTED] a écrit dans le message de news:[EMAIL PROTECTED] Hi All, I have one problem here. My codewarrior application that I make for the Zire PalmOS 4.1 not work on new Zire 21 PalmOS 5.2. The application is simple, and just send characters to the infrared port. This is the source: begin Err err; UInt16 portId; UInt32 toSend, NumSent; SrmOpen(serPortIrPort,9600,portId); SrmControl(portId, srmCtlIrDAEnable, NULL, 0); toSend = StrLen(teste123); NumSent = SrmSend(portId,teste123, toSend, err); SrmSendWait(portId); SrmControl(portId,srmCtlIrDADisable,NULL,0); SrmClose(portId); end This source is make in codewarrior v9.2 and work fine in any OS4.1, but not in the new OS5.2 like zire 21. Anyone can help me? Please?! very tanks. Alexandre Teodoro Guimarães [http://alexguim.cjb.net] Analista de Sistemas GM Soluções [http://www.gmsolucoes.com.br] ICQ: 282-168-268 Messenger: [EMAIL PROTECTED] Brasil -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Su?te - Now Available ?
In article [EMAIL PROTECTED], Chris Faherty wrote: On Tuesday 17 February 2004 03:08 am, Aaron Ardiri wrote: i think, the speed issues maybe related to the OS - not to the software specifically within cygwin. windows XP chews more resources than linux. :) give your windows XP box more ram, and - its faster :) my laptops use a minimum of 768Mb of ram these days - takes no time to compile my prc-tools projects :) and, on a slowish 1.2GHz PIII :) It doesn't really seem to be doing much.. it just takes forever to compile. I still think it is something not implemented efficiently. I was using a 2.4GHz P4 Windows XP laptop and it was still many times slower than my cheap Athlon and Linux.. though it was fast enough. On my box, I also have a Windows 98SE running inside of win4lin. When I compile in native Linux it is 19 seconds. Using win98se in win4lin it is 5 minutes. Hardly any activity noticable during the compile.. the hard disk blinks maybe once every 5 seconds. It's just painfully slow. I think it may have something to do with console programming in win32. I seem to recall an old console project which gained a considerable speedup by simply making it window-based. I fear that the win32 console stuff is performance crippled in some way. One thing which can slow down Cygwin enormously on Windows is active virus scanners (the on-line variety, which monitors file opens/close/access). This is a real problem when there is a lot of subshell activation (configure, libtool and friends). Running configure in prc-tools with virus scan active took forever for me. When disabling it it ran like a charm. It is at least one order of magnitude difference in elasped time. Of course, cince Cygwin emulates the POSIX calls it will always be slower than Linux on the same hardware. Just my 5 cents ... Ton van Overbeek -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Open URL in Web Browser
I use this code. It tries Clipper first then Web Pro. I can't get it to work with WAP for some reason. Must be the Launch code or something. // Find clipper and launch it, else find Web Pro // The ID for Wap is 'WppO', but I can't get the launch code to work. Err err; char*url; DmSearchStateType searchState; UInt16 cardNo; LocalID dbID; url = MemPtrNew(500); StrPrintF(url, http://wireless.mapquest.com/Palm/v3.0/mqtripplus.exe?OPC=nullADDR_ORIGIN= %sCITY_ORIGIN=%sSTATE_ORIGIN=%sZO=%sDPC=nullADDR_DESTINATION=%sZD=%ss ubmit1=Get+Directions, strAdd, strCity, strState, strZip, dstAdd, destZip); // So the ptr does not get destroyed when exiting app MemPtrSetOwner(url, 0); err = DmGetNextDatabaseByTypeCreator (true, searchState, sysFileTApplication, sysFileCClipper, true, cardNo, dbID); if (err) { // Clipper is not present // Try to find Web Pro err = DmGetNextDatabaseByTypeCreator (true, searchState, sysFileTApplication, 'NOVR', true, cardNo, dbID); if (err) { // Web Pro is not present FrmCustomAlert(ErrorAlert, MapQuest not available.,,); MemPtrFree(url); } } if (!err) err = SysUIAppSwitch(cardNo, dbID, sysAppLaunchCmdGoToURL, url); -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Developing for T3 Screen?
Currently I'm using SDK for OS 4.0 and I'm also using PRC-TOOLs 3.0. Can this combination be used to develop for the Tungsten T3? Specifically, I'm referring to the taller screen and buttons or controls in that additional area? Are there any specific required tools required to access this additional screen area? Related question: There are an increasing number of screen depths and resolutions. What are the top 4 or 5 that everyone should develop for? Currently I have bitmaps for 1, 2, 4, 8 (low res), 8 (high res). Thanks -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Round...
On Tue, 17 Feb 2004 09:25:49 -0500, Dave Lippincott [EMAIL PROTECTED] wrote: If you know the number of decimal places you require you can round the number yourself. i.e. if you require 2 places use: RoundedNo = 3,213,123.4590 + 0.005 you will get 3,213,123.46 (ignoring the decimals places beyond the 2nd) Caution: (int)(x + 0.5) only rounds properly if x is positive. For negative values of x, use (int)(x - 0.5) Robert Scott, Ypsilanti, MI (reply through this forum, not by e-mailing me directly) -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
One day in problem (2 Month With CW)
I have a problem, this function add a record to Database but when i execute DmNewRecord the MemHandle obtain 0x and error is MemHandle NULL I have a fucntion, open DB Boolean other function { OpenDatabase(Database); AddNewREcord(Database); //call the function to add record } static Err AddNewRecord(DmOpenRef db) { UInt16recordIndex = DmNumRecords(db) + 1 //dmMaxRecordIndex; PacienteStruc newRecord; MemHandle myRecordHandle; PacienteStruc *newRecordPtr; Err err; newRecord.Nombre = Bill; newRecord.Apellidos = Mother; newRecord.Dia = 1; newRecord.Mes = 1; newRecord.Anio = 1; newRecord.Sexo = M; newRecord.PatPrev = I Heat DmNewRecord; myRecordHandle = DmNewRecord(db, recordIndex, sizeof(newRecord)); newRecordPtr = MemHandleLock(myRecordHandle); err = DmWrite(newRecordPtr, 0, newRecord, sizeof(newRecord)); MemHandleUnlock(myRecordHandle); return err; } the struct is typedef struct PacienteStruc { Char *Nombre ; Char *Apellidos; Char *Dia ; Char *Mes ; Char *Anio ; Char *Sexo ; Char *PatPrev; } PacienteStruc ; typedef PacienteStruc* PacienteStrucPtr; -- Rubén Luna Cabret -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: RES: PalmOS 4.1 x PalmOS 5.2
sorry but I can not understand how I can find information searching... http://www.escribe.com/computing/pcpqa/index.html That should do it. :-) -- J. Machado -- [EMAIL PROTECTED] -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
How to avoid app from exiting when headset plug is inserted on Tungsten W
Hi, In my Tungsten W, when the headset plug is inserted or removed, the Mobile application starts automatically. I need to block these events in order to prevent my application from exiting when either of them occurs. Do you guys know how to do this? Thanks a lot! Marcio -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
RES: RES: PalmOS 4.1 x PalmOS 5.2
tank u!!! I see one guy that said if you dont use IrDA framing, you cannot use IrDA raw mode. So how I can use IrDA framing and what is it?! Atenciosamente, Alexandre Teodoro Guimarães [http://alexguim.cjb.net] Analista de Sistemas GM Soluções [http://www.gmsolucoes.com.br] ICQ: 282-168-268 Messenger: [EMAIL PROTECTED] -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de José dos Santos Machado Enviada em: terça-feira, 17 de fevereiro de 2004 16:49 Para: Palm Developer Forum Assunto: Re: RES: PalmOS 4.1 x PalmOS 5.2 sorry but I can not understand how I can find information searching... http://www.escribe.com/computing/pcpqa/index.html That should do it. :-) -- J. Machado -- [EMAIL PROTECTED] -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Cobalt and Metrowerks
Jamie Macleod wrote: So what's the scoop with Codewarrior and Cobalt? Does Metrowerks plan to support it? from PalmSource's dev suite FAQ: quote Q: Will Palm OS developers be able to use other IDEs? A: We recognize that developers have their own preferences for tools. Although Eclipse will be our primary IDE, PalmSource will continue to maintain our partnerships with other tools vendors and support their creation of additional options for Palm OS developers. /quote isn't clear but sort of suggests CodeWarrior will be still be available for Palm development. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palmsource Sample ?
How have you defined your struct? Are FirstName, LastName and PhoneNum arrays of char or pointer to char? Henk R Moon wrote: Hi, I read a sample of create record within in DB, now , I need use a Struct to write in DB I found this code in palmsource but h not get any value, the values is MemHandle NULL (+) I view a sample in Memo Sample and here DmWrite is different DmWrite (rP, OffsetOf(LookupRecordType, time), time, sizeof (UInt32)); Sample (+) static void CreateRecord() { MemHandle h; UInt16 index = 0; DBRecordType r; // this is our database record h = DmNewRecord(gDatabase, index, sizeof(r)); // fill the record with data StrCopy(r.FirstName, Jun); StrCopy(r.LastName, Zhou); StrCopy(r.PhoneNum, 1 555 545 4434); if (h) { // could fail due to insufficient memory! MemPtr p = MemHandleLock(h); Err err = DmWrite(p, 0, r, sizeof(r)); MemPtrUnlock(p); DmReleaseRecord(gDatabase, index, true); } } Thank's -- - Henk Jonas Palm OS ® certified developer [EMAIL PROTECTED] www.metaviewsoft.de/palmos - -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: changing the fields properties
Roberto Pedrozo Mendes wrote: Hi changing the fields properties How i can change the fields properties in the code. Example If i have a checkbox i want that when it is clicked my field is enable else disable. FldGetAttributes() and FldSetAttributes() might do what you want. matt -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
hey craig
I see your messages about how to make the palm os 5.2 talk with ir.. I don´t want to use one protocol like IrComm... I need to have total control to send bytes by the ir port. can u tell me how I can do that in omap processors? my application work fine in palm os 4.1 motorola... but now in 5.2 omap not working. I just use SrmOpen(0x8001,9600,portId); to open, SrmControl(portId, srmCtlIrDAEnable, NULL, 0); to enable ir light and SrmSend(portId,hello, 6, err); to send by the ir port... work fine in motorola but nothing in zire21 arm omap processor. any help by anyone is welcome... tanks all! --- Re: Palm OS Developer Membership Upgrade From: Craig Curry (view other messages by this author) Date: Mon, 10 Mar 2003 10:50:01 I have found the same problem on an application that I am working on. It works fine on pre-OS5s but fails on the Tungsten. I have talk to Palm directly and indirectly and have not received any helpful information. My application is a real time app and must be able to process serial information as it enters the serial port. However I have found that serial input port is buffer incoming bytes of data over a very short time period (3-4 milliseconds). This short time period is an eternity for my application, which results in the application failing to deliver the desired results. I do not have the option of trying my application on a Sony NX series because my application uses an adapter utilizing the Palm universal connector. I hope that Palm is listening to this! Since that post i have been in touch with an engineer from Palm Source. The following message was sent to that engineer: I checked the code and looks like FCR7:2 is set 00 (to generate an interrupt every 8 bytes) and SCR7 = 0 and TLR7:4 = . Unfortunately we cannot do anything about this because it is a already shipping product. I am not sure if the future products will keep it like this or change it to 1 byte buffering. The fowwing message was his response: Unfortunately this is below the OS level and cannot be controlled by tweaking the OS. Changes have to made to underlying layer below OS, i am not sure if they can just fix it easily. Will let you know when i find more information on this. The real problem here is that the OMAP processors serial UART3 is not sending incoming bytes directly to the SrmReceive FIFO buffer when it is determined that that incoming byte is legitimate. SrmReceiveCheck check for the number of bytes in the SrmReceive FIFO Buffer. I hope this may help someone and that the next release of the OS fixes the problem for us developing real time serial applications. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Crash sublaunching Digitizer on T3
Greetings, I have a function that sublaunches the Digitizer app for calibration using this code: { LocalID digiLID = 0; UInt32 result = 0; Err err = 0; Boolean hascursor = true; // is the cursor blinking? hascursor = InsPtEnabled(); // locate digitizer app digiLID = DmFindDatabase( 0, Digitizer ); if (digiLID) { if (hascursor) InsPtEnable(false); // hide cursor // launch the digitizer applet err = SysAppLaunch(0, digiLID, 0, sysAppLaunchCmdNormalLaunch, NULL, result); if (hascursor) InsPtEnable(true); // show cursor if it was there before } } This has been working successfully on all PalmOS3 and higher devices, including various OS5.x devices, but causes a crash on the Tungsten T3 both on the real device (which I don't have) and on the T3 Simulator. When I run it on the sim, the calibration completes okay, but then I see this error message on return to my calling app: I:\Morpheus\arm\Core\Emul68K\SrcSlowEmu\Run68K.c, Line:3109, Odd aligned read from 65207461 Has anyone else encountered this problem, and if so found a solution? Thanks, David Thacker -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: One day in problem (2 Month With CW)
I not need help I heat a POSE ! @_@ -- R Moon [EMAIL PROTECTED] escribió en el mensaje news:[EMAIL PROTECTED] I have a problem, this function add a record to Database but when i execute DmNewRecord the MemHandle obtain 0x and error is MemHandle NULL I have a fucntion, open DB Boolean other function { OpenDatabase(Database); AddNewREcord(Database); //call the function to add record } static Err AddNewRecord(DmOpenRef db) { UInt16recordIndex = DmNumRecords(db) + 1 //dmMaxRecordIndex; PacienteStruc newRecord; MemHandle myRecordHandle; PacienteStruc *newRecordPtr; Err err; newRecord.Nombre = Bill; newRecord.Apellidos = Mother; newRecord.Dia = 1; newRecord.Mes = 1; newRecord.Anio = 1; newRecord.Sexo = M; newRecord.PatPrev = I Heat DmNewRecord; myRecordHandle = DmNewRecord(db, recordIndex, sizeof(newRecord)); newRecordPtr = MemHandleLock(myRecordHandle); err = DmWrite(newRecordPtr, 0, newRecord, sizeof(newRecord)); MemHandleUnlock(myRecordHandle); return err; } the struct is typedef struct PacienteStruc { Char *Nombre ; Char *Apellidos; Char *Dia ; Char *Mes ; Char *Anio ; Char *Sexo ; Char *PatPrev; } PacienteStruc ; typedef PacienteStruc* PacienteStrucPtr; -- Rubén Luna Cabret -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Testing telephony app using emulator + virtual phone
I found the same question as mine in the achives, but never saw the answer. My call Err err = SysLibFind(kTelMgrLibName, refNum); fails to find the telephony library. I have virtual phone and the emulator, which is running palmOS 4.x. Is this library included within the rom image? Do I need to load any specific phone driver into the emulator to get this working? I assume not, as my cursory look at the virtual phone docs seems to indicate that you can indicate particular phones using the virtual phone. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: One day in problem (2 Month With CW)
I have a problem, Your basic problem is a lack of C skill. Programming Palm OS, in many ways, requires skills that left common use fifteen years ago (it's certainly been that long since I was paid to write C code on any other platform). It's worth finding a good book on C programming and reading the section on strings carefully. Or, perhaps better, walk away from C and use one of the higher level languages such as AppForge, NSBasic or Java. There are also tools targetted at specific types of applications. The detail that has led me to this conclusion are: typedef struct PacienteStruc { Char *Nombre ; A Char * is not a string in the same sense as VB or Java Strings. A Char * is a pointer to a the start of a string in the same way that an int * is a pointer to an integer. The structure you've defined has no space in it to store strings. If each member was defined as Char Nombre[NOMBRESIZE];, for instance, then it _would_ have space to store a string. newRecord.Nombre = Bill; This sets your pointer to a constant stored in the application. This doesn't copy anything anywhere and definitely won't store that name in the database record. You need to read about StrNCopy, StrNCat, StrLen and the like. Chris Tutty This message was sent using InSPire Net Webmail. http://www.inspire.net.nz -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Testing telephony app using emulator + virtual phone
My call Err err = SysLibFind(kTelMgrLibName, refNum); fails to find the telephony library. I have virtual phone and the emulator, which is running palmOS 4.x. Is this library included within the rom image? From memory there is more than one PalmOS 4 ROM available and only some of the ROMs include the telephony stuff ('full' in the filename?) Chris Tutty This message was sent using InSPire Net Webmail. http://www.inspire.net.nz -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Resize an offscreen window
Is there any way to resize an offscreen window. I am creating the offscreen window to draw formatted text using: WinCreateOffscreenWindow (width, height, screenFormat, err); And scrolling using WinCopyRectangle. The scrolling needs to be fast, so I need to draw the entire page up front. Because of the formatting, it is not possible to know what size screen I will need, until it renders it. When the formatted text exceeds the originally allocated window size, I would like to grow the window until I run out of heap space. Is there any way to do that and preserve the window contents? This will become much more of an issue when I convert the code to use double density when available. Thanks, Dave -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: One day in problem (2 Month With CW)
I am not sure why you are getting a null handle for DmNewRecord, but you have some C issues. You are saving a structure of pointers to the db which may or may not be valid when you open the database record the next time. If you change your structure to use char arrays, you can write it directly to the db in one call using DmWrite. Otherwise you will have to use some string packing mechanism - there are plenty of examples of that around. Make sure your OpenDatabase function returns a valid DmOpenRef handle. -Dave R Moon [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] I have a problem, this function add a record to Database but when i execute DmNewRecord the MemHandle obtain 0x and error is MemHandle NULL I have a fucntion, open DB Boolean other function { OpenDatabase(Database); AddNewREcord(Database); //call the function to add record } static Err AddNewRecord(DmOpenRef db) { UInt16recordIndex = DmNumRecords(db) + 1 //dmMaxRecordIndex; PacienteStruc newRecord; MemHandle myRecordHandle; PacienteStruc *newRecordPtr; Err err; newRecord.Nombre = Bill; newRecord.Apellidos = Mother; newRecord.Dia = 1; newRecord.Mes = 1; newRecord.Anio = 1; newRecord.Sexo = M; newRecord.PatPrev = I Heat DmNewRecord; myRecordHandle = DmNewRecord(db, recordIndex, sizeof(newRecord)); newRecordPtr = MemHandleLock(myRecordHandle); err = DmWrite(newRecordPtr, 0, newRecord, sizeof(newRecord)); MemHandleUnlock(myRecordHandle); return err; } the struct is typedef struct PacienteStruc { Char *Nombre ; Char *Apellidos; Char *Dia ; Char *Mes ; Char *Anio ; Char *Sexo ; Char *PatPrev; } PacienteStruc ; typedef PacienteStruc* PacienteStrucPtr; -- Rubén Luna Cabret -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: icon resource from system
Ralf Krauss wrote: I want to load a icon resource ('Tbmp'(?);1004-1007) from the system at runtime? Is there any way? Does DmGetResource( 'Tbmp', 1004 ); work? -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
MemPtrNew / MemPtrFree
Hello, Since I'm a Palm OS newbie, I need some help. I'm debugging an applicaiton using the Emulator and found out that the application sometimes gets memory leaks error. Ben Combee also suggested that I should use MemPtrNew to decrease my stack size in my previous thread. So, I've decided I should take a serious look at using MemPtrNew and MemPtrFree to make the application more efficient. However, I don't know how to use them. This is the existing code in my Pilot Main: UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags) { ContextType context; UInt16 error; context.hasGlobals = launchFlags sysAppLaunchFlagNewGlobals; if (cmd == sysAppLaunchCmdNormalLaunch) { globalContext = context; error = AppStart(context); if (error) return error; FrmGotoForm(ID_FORM_LIST); EventLoop(); AppStop(context); return 0; } else if (codes snipped...) I use ContextType to store Global variables and it's huge. That's the problem. I need to free up the resources when ContextType is not used. I just don't quite understand how to use MemPtrNew to free the memory. Thanks for your help in advance. George. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Palm Powered logo certification
My application is developed in Satellite Forms v5.2, but I would like to try to get the Palm Powered logo certification. According to the certification requirements, all debug options must be turned ON during emulator/simulator testing of our app. However, Satellite Forms requires that all debug options be turned OFF in order to run in the emulator (because of OS calls, I guess) without crashing. So... can a Satellite Forms-developed app be certified under this program?? Has anyone done this? Do you need a special exemption?? thanks, Karen Keefer -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: sysAppLaunchCmdNormalLaunch question
Alexandre Luz Barreto wrote: thanx but my globals are typedef struct Nodo { unsigned char elemento; UInt32 freq; Nodo *dir,*esq,*cima; }; Nodo ListaNodos[600]; Nodo *Indice[600]; There are ways you can check if globals are available. I don't know what they are so you'll have to look it up in the archives or something. But it sounds like you may not have access to globals and you may want to consider how to write your app w/o using them. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: MemPtrNew / MemPtrFree
George, How HUGE is your global structure? You should never create nor reference globals from within the PalmMain function. You should also keep your use of globals to a minimum. But any globals you do use in your app can be created/initialized in your AppStart() function. MemPtrNew allocates non-movable memory, I believe you can do it like so: UInt32 *myVar myVar = (*UInt32) MemPtrNew(sizeof(UInt32));// allocates a UInt32 on the dynamic heap *myVar = 1;// set its value //free the memory MemPtrFree(myVar); // note, because this is non moval memory, you should not keep it around long... if you need to keep something around, try using MemHandleNew, MemHandleLock and MemHandleFree. Its all in the palm OS reference guide. George [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hello, Since I'm a Palm OS newbie, I need some help. I'm debugging an applicaiton using the Emulator and found out that the application sometimes gets memory leaks error. Ben Combee also suggested that I should use MemPtrNew to decrease my stack size in my previous thread. So, I've decided I should take a serious look at using MemPtrNew and MemPtrFree to make the application more efficient. However, I don't know how to use them. This is the existing code in my Pilot Main: UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags) { ContextType context; UInt16 error; context.hasGlobals = launchFlags sysAppLaunchFlagNewGlobals; if (cmd == sysAppLaunchCmdNormalLaunch) { globalContext = context; error = AppStart(context); if (error) return error; FrmGotoForm(ID_FORM_LIST); EventLoop(); AppStop(context); return 0; } else if (codes snipped...) I use ContextType to store Global variables and it's huge. That's the problem. I need to free up the resources when ContextType is not used. I just don't quite understand how to use MemPtrNew to free the memory. Thanks for your help in advance. George. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm Powered logo certification
On Feb 17, 2004, at 2:01 PM, Karen Keefer wrote: My application is developed in Satellite Forms v5.2, but I would like to try to get the Palm Powered logo certification. According to the certification requirements, all debug options must be turned ON during emulator/simulator testing of our app. However, Satellite Forms requires that all debug options be turned OFF in order to run in the emulator (because of OS calls, I guess) without crashing. So... can a Satellite Forms-developed app be certified under this program?? Has anyone done this? Do you need a special exemption?? I would hope that you can't get an exemption. If Satellite Forms is not stable enough to be run with all the debug options, then it and anything created with it, should not qualify for the certification. The certification has been designed, as far as I understand it, to say that the applications run reasonably well and don't suffer from crashing issues. I'd recommend trying to get Satellite Forms to fix their application so that it can pass certification or write your application from scratch so that you don't rely on someone's unstable application. (I've never used Satellite Forms, but I'd be very afraid of any application that can't run in the emulator with all debug flags turned on.) This is just my opinion; if your application can get certified running on top of Satellite Forms (in its current state), then it completely dilutes the value of the certified logo. -- Scott Gruby Palm OS Certified Developer Available for contract development work. mailto:[EMAIL PROTECTED] http://www.gruby.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Testing telephony app using emulator + virtual phone
[EMAIL PROTECTED] wrote: My call Err err = SysLibFind(kTelMgrLibName, refNum); fails to find the telephony library. I have virtual phone and the So on to the second possibility - this library probably isn't loaded automatically and SysLibFind only finds loaded libraries. Are you loading it in your code? Chris Tutty This message was sent using InSPire Net Webmail. http://www.inspire.net.nz -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: One day in problem (2 Month With CW)
sorry but the program working perfectly , no need change to my program, the problem not is the struct ,i paste wrong I have 2 struct , the reason was that, A Char * is not a string in the same s.bla bla., the problem was .. never mind I repair mi code, = :o) I continue my working bye! -- [EMAIL PROTECTED] escribió en el mensaje news:[EMAIL PROTECTED] I have a problem, Your basic problem is a lack of C skill. Programming Palm OS, in many ways, requires skills that left common use fifteen years ago (it's certainly been that long since I was paid to write C code on any other platform). It's worth finding a good book on C programming and reading the section on strings carefully. Or, perhaps better, walk away from C and use one of the higher level languages such as AppForge, NSBasic or Java. There are also tools targetted at specific types of applications. The detail that has led me to this conclusion are: typedef struct PacienteStruc { Char *Nombre ; A Char * is not a string in the same sense as VB or Java Strings. A Char * is a pointer to a the start of a string in the same way that an int * is a pointer to an integer. The structure you've defined has no space in it to store strings. If each member was defined as Char Nombre[NOMBRESIZE];, for instance, then it _would_ have space to store a string. newRecord.Nombre = Bill; This sets your pointer to a constant stored in the application. This doesn't copy anything anywhere and definitely won't store that name in the database record. You need to read about StrNCopy, StrNCat, StrLen and the like. Chris Tutty This message was sent using InSPire Net Webmail. http://www.inspire.net.nz -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Testing telephony app using emulator + virtual phone
[EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: My call Err err = SysLibFind(kTelMgrLibName, refNum); fails to find the telephony library. I have virtual phone and the So on to the second possibility - this library probably isn't loaded automatically and SysLibFind only finds loaded libraries. Are you loading it in your code? Chris Tutty Oh, thanks much, that did the trick. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm Powered logo certification
My application is developed in Satellite Forms v5.2, but I would like to try to get the Palm Powered logo certification. According to the certification requirements, all debug options must be turned ON during emulator/simulator testing of our app. However, Satellite Forms requires that all debug options be turned OFF in order to run in the emulator (because of OS calls, I guess) without crashing. So... can a Satellite Forms-developed app be certified under this program?? Has anyone done this? Do you need a special exemption?? I would hope that you can't get an exemption. If Satellite Forms is not stable enough to be run with all the debug options, then it and anything created with it, should not qualify for the certification. The certification has been designed, as far as I understand it, to say that the applications run reasonably well and don't suffer from crashing issues. I'd recommend trying to get Satellite Forms to fix their application so that it can pass certification or write your application from scratch so that you don't rely on someone's unstable application. (I've never used Satellite Forms, but I'd be very afraid of any application that can't run in the emulator with all debug flags turned on.) It is not that simple. The philosophy of RAD tools is to keep the programmer away from low level details, such as memory allocation, or packing strings into database records, or dealing with subtle differences between OS versions, and so on. This is usually done through a runtime library, which behaves as a layer that translates what the programmer wants into low level Palm OS calls, and/or that provides helper functions. The problem is that it is almost impossible to write an efficient runtime library for Palm OS without either calling system use only functions (such as MemChunkNew) or either poking internal OS structures on 68k devices (fortunately, OS 5 provides enough functions to make this unecessary on ARM devices). Both triggers warnings when running with all options on. Another problem is that the emulator/simulator tends to be very suspicious. For example, a RAD tool may provide some sort of exception mechanism. To implement this, you have to write assembler code that crawls the stack up until it finds a handler for the exception. Unfortunately, reading and writing values from a stack frame which is not the officially active stack frame sometimes triggers an illegal memory access if all options are turned on. And there are many other examples. IMHO, the palm powered logo should take the development tool into account, or it will dramatically restrict the number of applications that can pass this certification... As far as I know, *all* RAD tools raise errors on POSE, and I don't think such tools are that bad... Pascal -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
fastest double buffering?
What's the fastest way to do double buffering on a Palm OS 5 device? Right now, I call WinCopyRectangle to copy the off-screen window to the screen and then I call WinDrawRectangle to erase the off-screen window. Is there a faster way? Thanks in advance. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm Powered logo certification
On Feb 17, 2004, at 4:25 PM, Pascal LEVY wrote: The problem is that it is almost impossible to write an efficient runtime library for Palm OS without either calling system use only functions (such as MemChunkNew) or either poking internal OS structures on 68k devices (fortunately, OS 5 provides enough functions to make this unecessary on ARM devices). Both triggers warnings when running with all options on. While this may be true (I don't write RAD tools and you do), if the output of the RAD tool can't pass logo certification (which if what you state is true, they can't as it would require turning on the debug flags in the emulator/simulator), why should something created on top of it pass? Should anyone that creates an app on a RAD tool be allowed to turn off all the emulator/simulator debug flags, but someone that coded in C++ cannot? The app created with the RAD tool could have lots of bugs in it that would be caught with the debug flags on, but the developer can't turn them on because the RAD tool causes the emulator/simulator to complain. I'll wait to see what PalmSource's official position is on this, but if they allow applications created with RAD tools to pass by turning off the flags, I'm going to let them know how disappointed I am with yet another attempt at application certification. -- Scott Gruby Palm OS Certified Developer Available for contract development work. mailto:[EMAIL PROTECTED] http://www.gruby.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm Powered logo certification
On Tue, 17 Feb 2004 16:47:09, Scott Gruby writes: While this may be true (I don't write RAD tools and you do), if the output of the RAD tool can't pass logo certification (which if what you state is true, they can't as it would require turning on the debug flags in the emulator/simulator), why should something created on top of it pass? I note that it is trivial to feed CW or gcc compilers with C source which will cause the output of those tools to crash and burn. Therefore should an application created by those tools be allowed to pass? Should anyone that creates an app on a RAD tool be allowed to turn off all the emulator/simulator debug flags, but someone that coded in C++ cannot? The app created with the RAD tool could have lots of bugs in it that would be caught with the debug flags on, but the developer can't turn them on because the RAD tool causes the emulator/simulator to complain. Not everything caught by those flags is a potential harmful bug, IMHO. If the output of a RAD tool can be proven (not an easy task, I'll admit) to only get flagged for harmless stuff for a given flag setting, then obviously that tools output might not require the same level of cautious testing as that of the far more dangerous C/C++ compilers. If you choose to code in C (or asm, etc.) with those extremely dangerous tools, then you stuff really needs a lot more testing. (partial :^) And if apps produced by various the RAD tools somehow become perceived by the market as having equal or higher quality, then the Palm Powered logo will lose much of its value. IMHO. YMMV. Ron Nicholson HotPaw Productions http://www.hotpaw.com/rhn/palm -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Handling a datebook press
Hi folks, what I want to do is to intercept a datebook hardbutton key press, and handle it manually. If conditions are not met I want to ignore the button press completely, and I'm not sure how to avoid the launch of Datebook, or kill it if it is underway. I've tried using the sysNotifyVirtualCharHandlingEvent and sysNotifyAppLaunchingEvent notifications to detect the press, but both seem to be too late, after the launch of Datebook is already in the queue. So, a couple of questions/comments: Is using a notification the right way to go? If so, have I chosen the wrong notifications to try? I thought that changing the priority of the notification might help, but I couldn't detect any improvement. If I've used the right notifications, what method must I use to kill the app launch event already queued up? Surely it must be possible, but I just can't find a way (I've tried emptyin queues, flushing queuse, enqueuing other events, etc., with no success). Thanks for any assistance. Bob. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Handling a datebook press
At 08:26 PM 2/17/2004, you wrote: Hi folks, what I want to do is to intercept a datebook hardbutton key press, and handle it manually. If conditions are not met I want to ignore the button press completely, and I'm not sure how to avoid the launch of Datebook, or kill it if it is underway. You don't need to do anything special. You just need to check the event you get from EvtGetEvent before passing it to SysHandleEvent. That's your chance to intercept the hard key press before the system sees it and turns it into a SysUIAppSwitch to the Datebook app. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Handling a datebook press
Hi Ben, Ben Combee wrote: At 08:26 PM 2/17/2004, you wrote: Hi folks, what I want to do is to intercept a datebook hardbutton key press, and handle it manually. If conditions are not met I want to ignore the button press completely, and I'm not sure how to avoid the launch of Datebook, or kill it if it is underway. You don't need to do anything special. You just need to check the event you get from EvtGetEvent before passing it to SysHandleEvent. That's your chance to intercept the hard key press before the system sees it and turns it into a SysUIAppSwitch to the Datebook app. I don't think I explained myself well enough. I do know that you can do that from within the current app, but I'm trying to intercept the datebook press using a 3rd party app. For instance, you are in NotePad, and press the Datebook button. I want my app to intercept THAT press, so I don't have access to the Notepad eventloop where I could handle this. So I thought of using a notification in a separate small app, and it works well at detecting the press, and launching my app if conditions are correct, but if conditions are NOT met it always launches Datebook. I haven't found any return code, or queue clearing function, that will stop the Datebook launch from happening. Does that make my problem more clear, or have I misunderstood your advice. BTW, this is on an OS5 T3. Thanks for your help. Bob. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
.R commandline compiler?
Hi group, Can anyone tell me if there is any command line tool I can use to build .R files? Thanks! George VS ([EMAIL PROTECTED]) -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Developing for T3 Screen?
Search the palmsource knowledge base - it has wonderful example of how to manage collapsable input area buttons for both T3 and sony devices. I think you'll need SDK5.3 for that one. T|3 and a couple of other devices has 16bit color support. 8 bit are enough in most cases. The device will convert them to 16bit if required. Mike Davis wrote: Currently I'm using SDK for OS 4.0 and I'm also using PRC-TOOLs 3.0. Can this combination be used to develop for the Tungsten T3? Specifically, I'm referring to the taller screen and buttons or controls in that additional area? Are there any specific required tools required to access this additional screen area? Related question: There are an increasing number of screen depths and resolutions. What are the top 4 or 5 that everyone should develop for? Currently I have bitmaps for 1, 2, 4, 8 (low res), 8 (high res). Thanks -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Developing for T3 Screen?
Can this combination be used to develop for the Tungsten T3? I use PRC-Tools and I have a bunch of programs running on my Tungsten T3. The Tungsten T3 runs Palm OS 5 so you might want to download the latest SDK. Specifically, I'm referring to the taller screen and buttons or controls in that additional area? Yes, you can do all those things with PRC-Tools. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Metrowerks Version 7 - SDK 5 - PalmOSRuntime_2i_A5.lib
Hello All, I'm using Metrowerks Codewarrior V7 - SDK 3.5 - Constructor 1.5. I wanted to update my SDK to version 5. So I downloaded a Palm OS 5 SDK (68K) R3 - Windows Installer from http://www.palmos.com/cgi-bin/sdk50.cgi. When I tried to open source code project (Address.mcp) and compile, it throws Could not find PalmOSRuntime_2i_A5.lib file. I wouldn't find this file in C:\Program Files\Metrowerks. Please give ur valuable inputs. Appreciate your time. Jeffy -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: One day in problem (2 Month With CW)
This code is totaly wrong! If it does not crash the device that DOES NOT mean it's working! /*WRONG*/ the struct is typedef struct PacienteStruc { Char *Nombre ; Char *Apellidos; Char *Dia ; Char *Mes ; Char *Anio ; Char *Sexo ; Char *PatPrev; } PacienteStruc ; /*RIGHT*/ the struct is typedef struct PacienteStruc { Char Nombre[50] ; Char Apellidos[50]; Char Dia[50] ; Char Mes[50] ; Char Anio[50] ; Char Sexo[50] ; Char PatPrev[50]; } PacienteStruc ; //These numbers are only for example, or use str packeting typedef PacienteStruc* PacienteStrucPtr; /*WRONG*/ static Err AddNewRecord(DmOpenRef db) { UInt16recordIndex = DmNumRecords(db) + 1 //dmMaxRecordIndex; PacienteStruc newRecord; MemHandle myRecordHandle; PacienteStruc *newRecordPtr; Err err; newRecord.Nombre = Bill; newRecord.Apellidos = Mother; newRecord.Dia = 1; newRecord.Mes = 1; newRecord.Anio = 1; newRecord.Sexo = M; newRecord.PatPrev = I Heat DmNewRecord; myRecordHandle = DmNewRecord(db, recordIndex, sizeof(newRecord)); newRecordPtr = MemHandleLock(myRecordHandle); err = DmWrite(newRecordPtr, 0, newRecord, sizeof(newRecord)); MemHandleUnlock(myRecordHandle); return err; } /*RIGHT*/ static Err AddNewRecord(DmOpenRef db) { UInt16recordIndex = dmMaxRecordIndex; //let it be... PacienteStruc newRecord; MemHandle myRecordHandle; PacienteStruc *newRecordPtr; Err err; StrCopy(newRecord.Nombre,Bill); //... do the rest as this one // newRecord.Nombre = Bill; // newRecord.Apellidos = Mother; // newRecord.Dia = 1; // newRecord.Mes = 1; // newRecord.Anio = 1; // newRecord.Sexo = M; // newRecord.PatPrev = I Heat DmNewRecord; // shuld be I *hate* DmNewRecord :)) myRecordHandle = DmNewRecord(db, recordIndex, sizeof(newRecord)); //No validation... no good newRecordPtr = MemHandleLock(myRecordHandle); err = DmWrite(newRecordPtr, 0, newRecord, sizeof(newRecord)); //In the previous one you writed a couple of useless pointers in the record LOL MemHandleUnlock(myRecordHandle); //call DmReleaseRecord after making DmNewRecord. return err; } R Moon wrote: I have a problem, this function add a record to Database but when i execute DmNewRecord the MemHandle obtain 0x and error is MemHandle NULL I have a fucntion, open DB Boolean other function { OpenDatabase(Database); AddNewREcord(Database); //call the function to add record } static Err AddNewRecord(DmOpenRef db) { UInt16recordIndex = DmNumRecords(db) + 1 //dmMaxRecordIndex; PacienteStruc newRecord; MemHandle myRecordHandle; PacienteStruc *newRecordPtr; Err err; newRecord.Nombre = Bill; newRecord.Apellidos = Mother; newRecord.Dia = 1; newRecord.Mes = 1; newRecord.Anio = 1; newRecord.Sexo = M; newRecord.PatPrev = I Heat DmNewRecord; myRecordHandle = DmNewRecord(db, recordIndex, sizeof(newRecord)); newRecordPtr = MemHandleLock(myRecordHandle); err = DmWrite(newRecordPtr, 0, newRecord, sizeof(newRecord)); MemHandleUnlock(myRecordHandle); return err; } the struct is typedef struct PacienteStruc { Char *Nombre ; Char *Apellidos; Char *Dia ; Char *Mes ; Char *Anio ; Char *Sexo ; Char *PatPrev; } PacienteStruc ; typedef PacienteStruc* PacienteStrucPtr; -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: One day in problem (2 Month With CW)
Oh c'mon, you don't have even basic C knowledge, how do you expect to finish this program? R Moon wrote: I have a problem, this function add a record to Database but when i execute DmNewRecord the MemHandle obtain 0x and error is MemHandle NULL I have a fucntion, open DB Boolean other function { OpenDatabase(Database); AddNewREcord(Database); //call the function to add record } static Err AddNewRecord(DmOpenRef db) { UInt16recordIndex = DmNumRecords(db) + 1 //dmMaxRecordIndex; PacienteStruc newRecord; MemHandle myRecordHandle; PacienteStruc *newRecordPtr; Err err; newRecord.Nombre = Bill; newRecord.Apellidos = Mother; newRecord.Dia = 1; newRecord.Mes = 1; newRecord.Anio = 1; newRecord.Sexo = M; newRecord.PatPrev = I Heat DmNewRecord; myRecordHandle = DmNewRecord(db, recordIndex, sizeof(newRecord)); newRecordPtr = MemHandleLock(myRecordHandle); err = DmWrite(newRecordPtr, 0, newRecord, sizeof(newRecord)); MemHandleUnlock(myRecordHandle); return err; } the struct is typedef struct PacienteStruc { Char *Nombre ; Char *Apellidos; Char *Dia ; Char *Mes ; Char *Anio ; Char *Sexo ; Char *PatPrev; } PacienteStruc ; typedef PacienteStruc* PacienteStrucPtr; -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: fastest double buffering?
You can replace windrawrectangle with MemSet(..,..,0); desa wrote: What's the fastest way to do double buffering on a Palm OS 5 device? Right now, I call WinCopyRectangle to copy the off-screen window to the screen and then I call WinDrawRectangle to erase the off-screen window. Is there a faster way? Thanks in advance. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: MemPtrNew / MemPtrFree
put this somewhere out of the function (make it global) and declare it as external to have acces to it from everywhere: ContextType *context; Then in you AppStart function add this: context=(ContextType *)MemPtrNew(sizeof(ContextType)); in AppStop add: MemPtrFree(context); George wrote: Hello, Since I'm a Palm OS newbie, I need some help. I'm debugging an applicaiton using the Emulator and found out that the application sometimes gets memory leaks error. Ben Combee also suggested that I should use MemPtrNew to decrease my stack size in my previous thread. So, I've decided I should take a serious look at using MemPtrNew and MemPtrFree to make the application more efficient. However, I don't know how to use them. This is the existing code in my Pilot Main: UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags) { ContextType context; UInt16 error; context.hasGlobals = launchFlags sysAppLaunchFlagNewGlobals; if (cmd == sysAppLaunchCmdNormalLaunch) { globalContext = context; error = AppStart(context); if (error) return error; FrmGotoForm(ID_FORM_LIST); EventLoop(); AppStop(context); return 0; } else if (codes snipped...) I use ContextType to store Global variables and it's huge. That's the problem. I need to free up the resources when ContextType is not used. I just don't quite understand how to use MemPtrNew to free the memory. Thanks for your help in advance. George. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/