![]() |
| Accounting |
| Software |
| Delphi components |
| TurboSync |
| Product downloads |
| Demo conduits |
| Known bugs |
| Wishlist |
| History |
| FAQs |
| Diagramming |
| Contact us |
| Home page |
TurboSync - Frequently Asked Questions |
|
Look here first if you have any questions about using TurboSync. If the answer
isn't here then feel free to contact
support,
even if you only have the trial version.
|
|
1.    How do I debug a conduit?
You have two choices.
2.    I get a "Lines too long" error or an "error reading the xxx.dcu file" when trying to install the trial version of TurboSync. You are probably using an old version of TurboSync. This problem was fixed some time ago. You should download the latest version and follow the installation instructions 3.    What versions of Delphi can I use? We support Delphi 5 and onwards. There is a Delphi 4 trial version available, but we don't test it extensively. The source code compiles in Delphi 4 to 7, but not earlier 32-bit versions, as we use classes introduced in Delphi 4. 4.    What versions of Palm OS are supported? Palm OS 3.0 and above. HotSync manager 2.0 and above (I think). The upgrade is free from Palm. 5.    What's a conduit, then? Do I need to write one? A conduit is a dll that is called during the HotSync process. It manages data transfer between a Palm and a PC. You only need to write one if you want to synchronise a PC application with a Palm application. You do not need one just to backup Palm databases onto a PC (this happens by default). 6.    What documentation is available on conduit building? You should get the Conduit Development Kit from Palm. However, DO NOT install and use CDK4 for VC++ with service pack 3 unless you actually have VC++ with service pack 3 installed. It causes incompatibilities with other Microsoft dlls that result in conduit problems. There were 2 good articles in Delphi Informant magazine about using EHAND Connect. A lot of the information is applicable to all conduit development, so they're worth reading. 7.    Who's your competition, and are they any good? So far as I'm aware, the only other ways to write conduits with Delphi are : EHAND Connect - an ActiveX control that is very solid. ConduitDB - a BDE based solution that is very simple to use. Delphi Conduit Library - a set of freeware VCL components similar to TurboSync, developed by Paul Gilbert. All of these are good solutions, and may well be better suited to your needs. Check them out and see what you think. There were 2 good articles in Delphi Informant magazine about using EHAND Connect. A lot of the information is applicable to all conduit development, so they're worth reading. 8.    Can I use TurboSync with databases from Satellite Forms, HanDBase, JFile, MobileDB etc? Yes. But bear in mind that you need to know how the data is stored in the Palm database. Satellite Forms document their Enterprise version database structure, but not the Standard version. Most third-party database tools use different field formats for certain sorts of data. You may need to use several TurboSync fields to fake the custom format, or access the data as a blob and do your own conversion. Contact us if you're having trouble, and we'll try and point you in the right direction. You can also have a look at the raw record data using the TTabdConduitDB.DebugRawRecAsStr method. Version 2 will support at least some third-party databases. HanDBase will be one of them because they've been extremely helpful supplying the information and assistance we need. 9.    Can I sync over the Web using TurboSync? Yes. Asta Technologies have a demo of a thin client syncing over the web using TurboSync. They're currently (August 2000) working on a wireless solution for those lucky enough to have a Palm VII. Of course, you can use MIDAS or some other equivalent as well. 10.    How many databases can I open in a conduit? On the Palm, as many as you like, but only one at a time. This is a limitation imposed by Palm. On the desktop you can do what you like. Open local files, access servers over a LAN or the internet, whatever you want. 11.    Can several conduits synchronise the same Palm databases? Yes. You can open whatever databases on the Palm you like. So you could synchronise the Palm address book with Outlook, Lotus Notes and Star Office. Of course, the order you do in that might be important. 12.    How do I set up a conduit? You can add new conduits using the CondCfg utility in the CDK. The CDK also documents an InstallShield script for adding a conduit to the HotSync manager. 13.    What's the CDK, and do I need it? The Conduit Development Kit is indispensable. Besides useful utilities like CondCfg, it goes into great detail on how to write conduits and documents all the API calls. You DEFINITELY need this. 14.    What's POSE and do I need it? The PalmOS Emulator is a Palm emulator that runs on a PC. It uses ROM images from actual Palm devices, so it is an excellent testing tool. It can be used to test conduits, although it can behave a bit weirdly if there is an error in your code. This is much better than killing a database on your real Palm, like I did. For testing against OS 5 and up devices, you can also use the PalmOS Simulator. 15.    What's a creator ID, and do I need one? A creator ID is a unique identifier issued by Palm that identifies each Palm application. For reasons best known to themselves, Palm decided that each conduit must be associated with a creator ID. An application with that creator ID must exist on the Palm device during a HotSync or the conduit will not be called. You need to join the Palm OS Developer Program in order to register your creator IDs. Just because a conduit is associated with a particular creator ID doesn't mean that you can only access data for that application. You can open any Palm database in any conduit. So, do you need one? Maybe. If you need to guarantee that there is a creator ID that is not being used by another conduit, then you will need to create a small Palm application, register a creator ID, and install the application on the Palm devices you want to sync. There are changes afoot for PalmOS 6, where you will be able to bypass this requirement somewhat. 16.    What files need to be present on the PC for the TurboSync to work? The Palm Desktop should have been installed, even if it isn't used. That way you get the HotSync manager and all the required dlls. The actual dlls TurboSync tries to load are : CondMgr.dll PalmCmn.dll HsLog20.dll Cmds21.dll Sync20.dll TurboSync looks for them in the directory specified in the registry key HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\Core\HotSyncPath or if that entry doesn't exist, on the system path. If you have a trial version, Delphi needs to be running during a HotSync. The CDK is not required. 17.    Can I program the Palm in Delphi/Pascal? Yes! Check out Pocket Studio. This is our preferred Palm programming tool. It isn't Delphi, by any means, but it's the best API level tool out there. 18.    When I post a record to the Palm database, it becomes the last record. Why? Unfortunately that isn't something we have any control over. Palm suggest that you don't rely on this always happening either, as they might change the behaviour in future versions. You can call your application after the HotSync and get it to resort records, though. 19.    How many records can I transfer in a HotSync using TurboSync? As many as you like. Bear in mind that HotSyncing usually happens using a serial port, so it may take some time for large numbers of records to be transferred. To speed this up, make sure you have the latest OS on your Palm, and the latest Palm Desktop and HotSync Manager software on your PC. Writing to the Palm is slower than reading from it, and I have heard of one guy who had to write thousands of small records, and changed his database so that there were relatively few very large records, which each held many smaller ones. This sped up the synchronisation considerably, apparently. 20.    What is the structure of the Palm Address Book database? Very complicated. One of the demo programs shows how to read data from the address book database. Database name : AddressDB (note that this is case-sensitive) Fields : Options pftLongint Flags pftLongint Filler pftByte Name pftString FirstName pftString Company pftString Phone1 pftString Phone2 pftString Phone3 pftString Phone4 pftString Phone5 pftString Address pftString City pftString State pftString Postcode pftString Country pftString Title pftString Custom1 pftString Custom2 pftString Custom3 pftString Custom4 pftString Notes pftString The Flags field is used to determine if there is any content in the other fields. If the corresponding bit in Flags is 1, then the field is used. The first 20 bits are used, one for each of the fields after Flags. This is an example of how to pack the most information into a small database. Note too, that this means records will be different sizes, depending on the data in them. The Options field stores the phone number types. The first 4 bits store the type of Phone1, and so on. The types are : 0 Work 1 Home 2 Fax 3 Other 4 Email 5 Main 6 Pager 7 Mobile Bits 20-23 store which of the Phone fields is displayed in the contact list in the Address Book. Values are in the range 0 to 4. 21.    What is the structure of the Palm Date Book database? Database name : DatebookDB (note that this is case-sensitive) Fields : StartTime pftTime EndTime pftTime Date pftDate Flags pftByte Reserved pftByte AlarmAdvanceTime pftByte Flagged with bit 6 AlarmAdvanceUnit pftByte Flagged with bit 6 RepeatType pftByte Flagged with bit 5 Reserved2 pftByte Flagged with bit 5 RepeatEndDate pftDate Flagged with bit 5 RepeatFreq pftByte Flagged with bit 5 RepeatOn pftByte Flagged with bit 5 RepeatStartWeek pftByte Flagged with bit 5 Reserved3 pftByte Flagged with bit 5 NumOfExceptions pftSmallInt Flagged with bit 3 Exception array of pftDate Exists if NumExceptions > 0 Description pftString Flagged with bit 2 Notes pftString Flagged with bit 4 The Flags field is used to determine if there is any content in the other fields. If the corresponding bit in Flags is 1, then the field is used.This is an example of how to pack the most information into a small database. Note too, that this means records will be different sizes, depending on the data in them. The Exceptions field holds dates for which a repeating event does not apply. The number of them is given in the NumOfExceptions field. You must ensure that the number of dates and the value of NumOfExceptions match up if you are writing records back to the Palm database. The RepeatOn field is only used if the RepeatType is weekly or monthly (ie 2 or 3). When RepeatType is weekly the byte represents the days of the week, where the bits are the individual days, Sunday = bit 0, Monday = bit 1 etc, so the values for individual days are Sunday = 1, Monday = 2, ..., Saturday = 64. These can be or'ed together to get multiple day repeats. When RepeatType is monthly the byte represents the day of the month. The Pascal declaration of this type is TDayOfMonth = (dom1stSun, dom1stMon, dom1stTue, dom1stWen, dom1stThu, dom1stFri, dom1stSat, dom2ndSun, dom2ndMon, dom2ndTue, dom2ndWen, dom2ndThu, dom2ndFri, dom2ndSat, dom3rdSun, dom3rdMon, dom3rdTue, dom3rdWen, dom3rdThu, dom3rdFri, dom3rdSat, dom4thSun, dom4thMon, dom4thTue, dom4thWen, dom4thThu, dom4thFri, dom4thSat, domLastSun, domLastMon, domLastTue, domLastWen, domLastThu, domLastFri, domLastSat); So a weekly repeat on Monday and Tuesday is 2 + 4 = 6, and a monthly repeat on the third Monday of the month is dom3rdMon = 15. 22.    What is the structure of the Palm Memo database? Database name : MemoDB (note that this is case-sensitive) Fields : Notes pftString That's it! One field per record. 23.    What is the structure of the Palm ToDo List database? Database name : ToDoDB (note that this is case-sensitive) Fields : DueDate pftDate Completed pftByte Description pftString Notes pftString The Completed field uses bits 0-6 to set the priority, and bit 7 to determine whether the item appears checked in the Palm application. |