mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-05 08:58:31 +02:00
68 lines
2.0 KiB
Plaintext
68 lines
2.0 KiB
Plaintext
The usage of the forms library is relatively straightforward.
|
|
|
|
The interface has been designed as follows:
|
|
|
|
- All functions and procedures have kept their names.
|
|
- All types have a T appended in front of it.
|
|
If the forms manual speaks of a FL_OBJECT type, then the FPK port
|
|
has a TFL_OBJECT type.
|
|
(This is because of pascal's CaSe InSenSiTiViTy)
|
|
- Pointers to all objects have been defined as Ptype_of_object.
|
|
In C : FL_OBJECT *
|
|
in FPK : PFL_OBJECT = ^TFL_OBJECT
|
|
- All 'int' declarations are 'longint' in fpkpascal.
|
|
|
|
Check out the 'demo' directory for examples.
|
|
|
|
Some fields of some structs have been renamed (fields as 'label' or 'type')
|
|
when they were in conflict with Pascal reserved words. Unfortunately this
|
|
has not been done in a consistent way. This will change in the future,
|
|
hopefully. As a rule of thumb : reserved pascal words got the prefix 'the',
|
|
so 'type' became 'thetype' etc.
|
|
|
|
When in doubt : consult the interface part of 'forms.pp'
|
|
|
|
How to compile an executable ?
|
|
|
|
Easy as pie:
|
|
The only thing that you must remember is to provide the linker with the
|
|
path to the X-libraries, and the form libraries. You can set this through
|
|
the '-k' option of -Fl option.
|
|
|
|
ppc386 -k-L/usr/X11/lib myprog.pp
|
|
or
|
|
ppc386 -Fl/usr/X11/lib myprog.pp
|
|
|
|
Will do the trick in most cases.
|
|
|
|
|
|
DESIGNING A FORM
|
|
================
|
|
|
|
As of version 0.88 of xforms, fdesign supports pascal directly !
|
|
Using version 0.86, you can use the workaround described below:
|
|
|
|
You can convert existing design programs as follows:
|
|
version 0.86:
|
|
fdesign [other options] -convert -ada -filter fd2pascal file.fd
|
|
version 0.88:
|
|
fdesign [other options] -convert -pascal file.fd
|
|
|
|
or start a new design with
|
|
version 0.86:
|
|
fdesign -ada -filter fd2pascal
|
|
version 0.88:
|
|
fdesign -pascal
|
|
|
|
This will emit pascal code. Use the following options
|
|
-callback
|
|
to emit procedure headers.
|
|
-main
|
|
to emit a program instead of a unit
|
|
-altformat
|
|
to use global variables instead of records.
|
|
|
|
Enjoy !
|
|
|
|
Michael Van Canneyt (michael@tfdec1.fys.kuleuven.ac.be)
|