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.
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:
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
|