Sign in Join
Wiki copytemporary

Kylix: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11**Kylix**® is an [[Object Pascal]] [[Compiler|compiler]] and IDE released by Borland International for the [[Linux]] [[operating system]]. It is an attempt to provide the equivalent functionality of their [[Delphi]]® Object [[Pascal]] product for the Microsoft Windows operating system.
22
33## Kylix 3 Open Edition
44
55Borland used to distribute a version of Kylix free for personal use that was called "Kylix 3 Open Edition", but this version unfortunately can no longer be legally distributed.
66
77**NOTE**:\
88Kylix 3 is rather hard to install and get working with the latest Linux distros (this issue is only related to the Kylix IDE, not the applications created with it).
99
1010It is therefore highly recommended that you rather install Free Pascal Compiler and the Lazarus IDE for any new development work. They are similar to Kylix and Delphi, but a lot more up to date than Kylix. Free Pascal and Lazarus are excellent tools and are Open Source, so they will always be available - without activation requirements.
1111
1212There is another cross-platform GUI toolkit you can try with Free Pascal; it is called [[fpGUI|fpGUI Toolkit]].
1313
1414- Free Pascal: <https://www.freepascal.org>
1515- Lazarus: <https://lazarus-ide.org>
1616- fpGUI Toolkit: <https://sourceforge.net/projects/fpgui/>
1717
1818## Installing Kylix Help in the Lazarus IDE
1919
2020For users who have a legal copy of Kylix, it is possible to add Kylix 3 context-sensitive help files to Lazarus IDE running on Linux x86. The benefit from those help files is that they are very detailed, and also contain the Object Pascal Language Reference help - most of which is applicable to FPC's Object Pascal syntax or the Lazarus LCL. Note that this uses the proprietary HyperHelp program, so is not portable to other platforms.
2121
2222### Files needed from Kylix3
2323
2424These are the files and directories needed from the `${HOME}/kylix/help` directory.
2525
2626(I suspect that the help system from the free version of Kylix may work as well. )
2727
28-` bin/           k3clx.hlp     k3dbd.cnt    k3.hlp`\
29-` foo            k3.cnt        k3dbd.fts    k3indy.cnt`\
30-` foo~           k3copts.cnt   k3dbd.hlp    k3indy.fts`\
31-` hhintro.txt    k3copts.fts   k3dbx.cnt    k3indy.hlp`\
32-` hoh.cnt        k3copts.hlp   k3dbx.fts    k3iota.cnt`\
33-` hoh.fts        k3crtl.cnt    k3dbx.hlp    k3iota.fts`\
34-` hoh.hlp        k3crtl.fts    k3derrs.cnt  k3iota.hlp`\
35-` hyperhelp.sh*  k3crtl.hlp    k3derrs.fts  k3new.cnt`\
36-` k3.als         k3ctools.cnt  k3derrs.hlp  k3new.fts`\
37-` k3cerrs.cnt    k3ctools.fts  k3dlr.cnt    k3new.hlp`\
38-` k3cerrs.fts    k3ctools.hlp  k3dlr.fts    k3prog.cnt`\
39-` k3cerrs.hlp    k3cw.cnt      k3dlr.hlp    k3prog.fts`\
40-` k3clr.cnt      k3cw.fts      k3dopts.cnt  k3prog.hlp`\
41-` k3clr.fts      k3cw.hlp      k3dopts.fts  lib/`\
42-` k3clr.hlp      k3dap.cnt     k3dopts.hlp`\
43-` k3clx.cnt      k3dap.fts     k3.ftg`\
44-` k3clx.fts      k3dap.hlp     k3.fts`
28+```text
29+ bin/ k3clx.hlp k3dbd.cnt k3.hlp
30+ foo k3.cnt k3dbd.fts k3indy.cnt
31+ foo~ k3copts.cnt k3dbd.hlp k3indy.fts
32+ hhintro.txt k3copts.fts k3dbx.cnt k3indy.hlp
33+ hoh.cnt k3copts.hlp k3dbx.fts k3iota.cnt
34+ hoh.fts k3crtl.cnt k3dbx.hlp k3iota.fts
35+ hoh.hlp k3crtl.fts k3derrs.cnt k3iota.hlp
36+ hyperhelp.sh* k3crtl.hlp k3derrs.fts k3new.cnt
37+ k3.als k3ctools.cnt k3derrs.hlp k3new.fts
38+ k3cerrs.cnt k3ctools.fts k3dlr.cnt k3new.hlp
39+ k3cerrs.fts k3ctools.hlp k3dlr.fts k3prog.cnt
40+ k3cerrs.hlp k3cw.cnt k3dlr.hlp k3prog.fts
41+ k3clr.cnt k3cw.fts k3dopts.cnt k3prog.hlp
42+ k3clr.fts k3cw.hlp k3dopts.fts lib/
43+ k3clr.hlp k3dap.cnt k3dopts.hlp
44+ k3clx.cnt k3dap.fts k3.ftg
45+ k3clx.fts k3dap.hlp k3.fts
46+```
4547
4648Most of the above files may not pertain to Lazarus, such as the k3c* files which relate to C++, but they are harmless to keep around.
4749
4850The bare minimum files needed for the context help are these:
4951
50-`bin/           k3.als     k3clx.fts  k3.cnt  k3.fts  lib/`\
51-`hyperhelp.sh*  k3clx.cnt  k3clx.hlp  k3.ftg  k3.hlp`
52+```text
53+bin/ k3.als k3clx.fts k3.cnt k3.fts lib/
54+hyperhelp.sh* k3clx.cnt k3clx.hlp k3.ftg k3.hlp
55+```
5256
5357### The hyperhelp.sh script
5458
5559We do need to dress up the default help script provided with Kylix so that it will work as a standalone application under X. Note that the last line of the script sets some missing rendering parameters. Also note the -geometry which positions the window and sets its size.
5660
5761``` bash
5862#!/bin/bash
5963HHHOME="${HOME}/Lazarus/DelphiHelp"
6064XPPATH="${HHHOME}/xprinter"
6165LANG=en_US
6266LC_ALL=en_US
6367locale=${LC_ALL:-${LC_CTYPE:-${LANG:-"C"
6468LD_LIBRARY_PATH+="lib/locale/"${locale}":lib:"
6569XAPPLRESDIR="app-defaults"
6670NLSPATH="lib/locale/%L/%N.cat"
6771export XPPATH HHHOME LANG LC_ALL LD_LIBRARY_PATH XAPPLRESDIR NLSPATH
6872cd $HHHOME
6973bin/hyperhelp k3clx.hlp -m AL\($1,3,,main\)\
7074 -s 0 -d 32159 -display :0.0 -geometry 600x500+100+100 -w
7175```
7276
7377### My directory tree
7478
7579This is where I have placed the Kylix Help file directory. It is under my installation of Lazarus in the user home directory. The hyperhelp.sh script refers to these locations.
7680
7781 /home/tom/Lazarus/DelphiHelp/
7882 |-- bin
7983 `-- lib
8084 `-- locale
8185 |-- de_DE
8286 |-- fr_FR
8387 |-- ja_JP.SJIS
8488 |-- ja_JP.eucJP
8589 `-- ja_JP.eucjp
8690
8791### Custom Tool setup in IDE
8892
8993Finally, set up the new custom tool within Lazarus from the menu 'Tools\|Configure custom tools\|Add'. Replace '/home/tom/' with your user home directory path. This has to be an absolute path to the hyperhelp.sh script.
9094
9195![](/wiki-images/5/5f/Edittool.png)
9296
9397### In summary
9498
9599Just place your cursor in the edit window on the word you want to find help for and press `Ctrl`+`F1`. The Kylix help will then open up the context sensitive help page for that keyword.
96100
97101---
98102*From the Free Pascal wiki, page "Kylix", as it stood on 2021-01-26 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history