Home
News
Community
Products
Download
Support
Sales
About CASL

 
 
 
 
 
 

CASL FAQs


This page will concern itself with frequently asked questions having to do with the CASL support.  We have information about the CASL products on the Products FAQ page.  We have information about CASL purchasing questions on the Sales FAQ page.

CASL Demo

What are the limits on public download?

I can't seem to figure out how to delete individual scripts from the palm handheld itself. Is this a limitation of the demo version?

CASLide

How can I execute a CASLwin executable (CSP) without the CASLide?

My application is stuck in a while loop. How do I stop it?

Does CASL support check boxes or radio buttons?

CASL Conduit

How do I install the CASL conduit without installing the entire CASL development package?

I put a database in the CASL directory in my PalmPilot USER directory, but it is not being sent to the PalmPilot during HotSync. What am I missing?

Does CASL work with HotSync 1.0?

I want my program to run on the PalmPilot and save information into a database in the PDA. After HotSync, I'd like the collected data to be available to my CASL program running on my Windows PC.

How can I write the program in such a way that it can access the file with its proper directory name on the PC (e.g. \pilot\myuser\casl) and no directory name on the PalmPilot?

CASL DB File Format

What is the CASL DB File format on the PC?

What's the CASL DB file format on the Palm OS Device?

CASL Language Limits

Is there a maximum size to CASL p-code applications?

Are there any other limits in the CASL compiler?

Miscellaneous

I cannot get the HTML from some web sites when using the CASLnet example.

What fonts are supported by the Pilot and Window runtime?

I purchased the compiler, but all you emailed was the license agreement. Where is the documentation, CASLide, conduit, and other pieces?

I see that you support the PalmPilot. Do you also support the Pilot 1000 and Pilot 5000?

Can CASL programs access the built-in databases of the ROM based Pilot applications?

Are there 3rd party books available for leaning how to program in CASL?

CASL Demo

Back to top

What are the limits on public download?

CASL applications distributed using the freeware (non-registered) version will display a prompt indicating it was compiled using the Freeware version of CASL.  Purchase of a CASL license will remove the freeware notice.  There are no other differences between the registered and non-registered version allowing developers to prototype their solution in CASL prior to registration. 

I can't seem to figure out how to delete individual scripts from the palm handheld itself. Is this a limitation of the demo version?

You could write your own program to delete the CSM files using the delete command. Do not include the CSM extension, use the name you see in the CASLrt startup selector list.

Also note, that since the CSM files are "owned" by the CASLrt runtime interpreter (they have its creator ID), deleting the CASLrt using the Memory app would also delete the CSM files.

And one last thing which you probably already know, you could turn your CASL program into a PRC file (Compile Menu->Make PRC) , which could be deleted directly via the Memory app on the palm handheld. Unlike the CSM files, the PRC program files can not be deleted using the delete command.

CASLide

Back to top

How can I execute a CASLwin executable (CSP) without the CASLide?

You can execute the file directly by passing the full pathname of the CSP file as a parameter to CASLwin.exe. Remember to enclose the CSP path in quotes if it has any spaces in the path name.

You can also setup an association using Window Explorer, View->Options- >File Types->New Type, setting the associated extension to CSP, and adding a new action called Open. Point to CASLwin as the application to perform the action. Add "%1" (include the quotes) after the CASLwin path name. This way you can just double click on the CSP file name to invoke the runtime.

My application is stuck in a while loop. How do I stop it?

You can interrupt the program execution buy pressing the up or down cursor keys on the Palm handheld. To interrupt the CASLwin runtime just brings the task list (CTRL-ALT-DEL) and end the CASLwin task.

Does CASL support check boxes or radio buttons?

Check boxes are supported as a property of the button object.

Radio buttons (a row of buttons, only one of which can be selected at a time) are not directly supported.  However, this can easily be done with some custom CASL code.  Perhaps a future sample will demonstrate the ease of accomplishing this.

CASL Conduit

Back to top

How do I install the CASL conduit without installing the entire CASL development package?

You need to run the CASL conduit registration utility CondReg.exe with the path to the CASL conduit DLL CASLcn20.dll specified on the command line. For example, if the CASL conduit DLL were in E:\CASL, then you would use:

CondReg.exe E:\CASL

This will copy the DLL from the specified location to the Palm handheld install directory, and register the CASL conduit with HotSync. The Palm handheld HotSync software must be installed first.

I put a database in the CASL directory in my Palm handheld USER directory, but it is not being sent to the Palm handheld during HotSync. What am I missing?

To have a cdb database installed to your Palm handheld you need to rename your database with cdi extension.  After the next HotSync the database will be installed.

Does CASL work with HotSync 1.0?

No, CASL currently works with HotSync1.1 - 6.0.

I want my program to run on the Palm handheld and save information into a database in the PDA. After HotSync, I'd like the collected data to be available to my CASL program running on my Windows PC.

This is easy with CASL.  Use the dbfile object, with sync_pref merge or pda_to_pc, to create your database.  CASL will compile both Palm and PC versions of your program.  Both can access the same database.  The CASL conduit will keep both databases synchronized.

How can I write the program in such a way that it can access the file with its proper directory name on the PC (e.g. \pilot\myuser\casl) and no directory name on the Palm handheld?

The PC has a hard drive that's organized in directories, and the Palm handheld simply has named databases.

CASL supports a string function that returns the Palm handheld user directory (USERPATH). The CASL pcode interpreter (PC and Palm handheld) evaluates the function at runtime. On the PC, the function returns the directory associated with the user whose name is given as a parameter to the function. On the Palm handheld, the USERPATH function always returns a null string (""), since there are no user directories on the palm handheld.

The CASL environment also has a built-in string variable (PLATFORM) that contains string that indicates in which environment a CASL program is running. The PLATFORM variable will contain the string "windows" or "pilot".

For examples of PLATFORM and USERPATH in use in an application, see the Password sample program included with your CASL installation.

CASL DB File Format

Back to top

What is the CASL DB File format on the PC?

If you're trying to create/edit a cdb file with an external program, it's normally easiest to create/edit cdb files when they're stored in ascii format on PC in your c:\palm\user\casl\ folder.  The ascii format of the CDB files produced by the CASL conduit and CASLwin files is specified in IDE Manual.  You use the cdi feature of the CASL conduit to install a new cdb file onto a Palm™ device.

For convenience the ascii format specified in the IDE Manual is reproduced here.  If changes are made the IDE Manual will have them, while this page may become outdated.

The lines beginning with the pound sign are the file header lines.

#CDBID: CASL Identifies the file as being a CASL file.

#MAJREV: 2 Major revision (or it will be 1 for version 1 databases).

#MINREV: 0 Minor revision.

#FLDCNT: 5 Number of fields per record.

#RECCNT: 7 Number of records.

#SYNCMODE: MERGE HotSync mode.

  • MERGE:
    Typical HotSync.
  • PC_TO_PDA:
    PC overwrites the PDA.
  • PDA_TO_PC:
    PDA overwrites the PC.
  • NOT_SPECIFIED:
    External control (same as MERGE for now).

Version 2 field definition:

#FLDNUM:1 TYPE:S SIZE:0 First field definition (#FLDCNT of them).

Version 1 field definition:

#FLDNUM:1 NAME:age TYPE:S SIZE:0 First field definition (#FLDCNT of them).

NAME:<name of field> (only present in version 1).

TYPE:<S-string, N-number,

NA-Number array, BA-Byte array>

SIZE:<number of elements if array>

There will be #RECCNT data records that follow the header records. The first field is the record ID field and is assigned by the PDA. You should not assume anything about the value of this field. When new records are added on the PC side, it is set to zero, 0x00000000. The next field is the status field. This can be a combination of the following values:

  • 0x0001 - Used during HotSync.
  • 0x0002 - Record has been marked for deletion.
  • 0x0004 - The record has been modified.
  • 0x0008 - This is a new record.

The fields that follow the status field contain the applications data. String fields have double quotes surrounding them. If a double quote is part of the string, then it has double quotes around it. If a field is empty, then it still needs a comma as a placeholder. Here are some examples:

  • 0x00D1C004,0x0000,"david",,0,"","" The field after david is empty.
  • 0x00000000,0x0008,"ethel",,0,"Hi "Mike"","" Mike is quoted.
  • 0x00D1C005,0x0000,"fred",100,0,"one, two","" String has embedded comma.

We reserve the right to change the format of the CDB file at any time. If we do, then the major revision will change if there is a massive structure change that is not handled automatically. If there is a slight change then the minor revision will change and the database subsystem will take care of the conversion.

While it is safe to read the file from an external application, like Excel or a Visual Basic program, you are on your own if you write to or create a CDB from the same.

What's the CASL DB file format on the Palm OS Device?

If you're trying to write your own conduit, or otherwise would like to know the cdb file format when stored on the Palm OS device, and also when the backup bit has been set (by a third party file manager app like Z'Catalog) and is stored on your PC in the c:\palm\user\backup\ folder, cdb files are stored in a binary format as follows.

View/Download, appinfoblock.txt (~2.6 kB).

CASL Language Limits

Back to top

Is there a maximum size to CASL p-code applications?

Yes, there is a maximum size that a CASL p-code application can be.  There is 64 kB available for p-code and variables. The compiler will display the amount used when doing a p-code compile. If the application goes over the limit you can continue to increase the size of the application by breaking it up into two separate applications that call each other using the CASL launch command. You can also use CASLpro to generate larger applications without having to use the launch method.

Are there any other limits in the CASL compiler?

Yes, The maximum string length could be 64 kB. However, this can be smaller depending on the amount of memory that is free on the device.

The maximum database record size is 32 kB.

The maximum records per dbfile is 15,999 and the maximum fields per dbfile is 100.

Miscellaneous

Back to top

I cannot get the HTML from some web sites when using the CASLnet example.

The PUT statement puts the string and its terminating null (0) to the network stream. This causes some web sites not to respond. Add the length parameter (third one) to the PUT statement and set it so it only sends the string and not its terminating null.

PUT socket, strMsg, length(strMsg);

PUT socket, char(13), 1;

What fonts are supported by the palm handheld and Window runtime?

These are the fonts that are supported by the Palm runtime and Windows runtime:

  • stdfont
  • boldfont
  • largefont
  • largeboldfont
  • symbolfont
  • symbol11font
  • symbol7font
  • ledfont

I purchased the compiler, but all you emailed was the license agreement. Where is the documentation, CASLide, conduit, and other pieces?

We keep the full release on our Download Page. This has the complete CASL 4.3 installer, however you should have received a 'CASL43.lic' file in the e-mail attachment from us.  This license file should be copied to your "c:\program files\caslsoft\casl43" folder to remove the freeware notice from your CASL applications.

I see that you support the Palm handhelds with OS 3.0 or higher.  Do you also support the Pilot 1000 and Pilot 5000?

Not any longer.  With CASL 4.2 (and higher) we began distributing only a runtime for OS 3.0 or higher.

NOTE: Because we're using new API calls for initializing objects, which aren't supported by OS 2, OS 2 devices, such as the PalmPilot Personal and Professional, are no longer supported.

Can CASL programs access the built-in databases of the ROM based palm handheld applications?

Yes, the databases can be opened as FILE objects in the CASL environment. The ROM based palm handheld database can be written to and read from.

See our Samples Page for CASL package files (*.CPK) that a developer can include into his application to provide access to the built-in databases.

Are there 3rd party books available for leaning how to program in CASL?

Yes there are.  See the Books section of our Support Page


Home | News | Community | Products | Download | Support | Sales | About CASL

© 1997-2018 WAGWARE Systems, Inc. & Brainyware, LLC.

All Rights Reserved. Legal info

Last Modified 01/02/2018