phpWeaver.com
 
     
Delphi/Kylix tips
 
 
Home     
Kylix     
Links en boeken     
Errata     
Nieuws     
 
 
Kylix

 

De onderwerpen heb ik (lui) op één pagina gezet:

Activeringscode ('key' Kylix) en aanvullende Kylix downloads
Kylix Developer's Guide
Kylix online tutorials
Open Edition licentie-mededeling
Kylix apps buiten de IDE om opstarten
Kylix werkt niet ~ op Linux kernels 2.6

 

Activeringscode Kylix ('key'Kylix) en aanvullende Kylix downloads


Op dit moment wordt Kylix niet meer actief door Borland ondersteund.
Kylix dus dood? In tegendeel!
Maar zoekt u naar een key om Kylix, na installatie aan de gang te krijgen, dan zult u die tevergeefs zoeken op de site van Borland. Om met Kylix aan de slag te kunnen kunt u de key hier downloaden.

Plaats dit bestand, zoals in Handboek Delhpi/Kylix staat aangegeven, in uw home-directory van Linux, start Kylix, en u bent ‘binnen’.

Kylix niet van cd, maar downloaden? Dat kan via ftp.
Aanvullende downloads vindt u op http://info.borland.com/devsupport/kylix/downloads/ .

 

Kylix Developer's Guide


Alles wat u ooit wilde weten over Kylix en een onmisbare aanvulling op Handboek Delphi/Kylix vindt u in de Kylix Developer's Guide (pdf). Een uitgave van Borland Software Corporation.

 

Kylix online tutorials


Kraakheldere tutorials over Kylix vind u op: http://delphi.about.com/od/kylixtutorials/Kylix_tutorial_series.htm
en op Brian Long's website:
http://www.blong.com/

Brian werkte bij Borland UK, was technisch editor voor een aantal Delphi boeken (o.m. Mastering Delphi 7 en Mastering Delphi 2005), publiceerde in Linux Format, Developers Review, Computing, Delphi Developers Journal en EXE Magazine en was actief op het Borland Developer Network.

 

Open Edition licentie-mededeling


U heeft ongetwijfeld gemerkt dat, applicaties ontwikkeld met de Kylix Open Edition, steeds drie seconden vooraf gestart worden met een Open Scource licentie-mededeling. Hoewel dit niet voor niets is (en je het dialoogschermpje direct weg kunt klikken), kan ik mij voorstellen dat het niet altijd even kikken is.

Een bekend geheim is dat u deze Open Source mededeling kunt voorkomen, door bij de opstart van een applicatie de parameter -ns mee te geven (wat overigens wel weer in strijd is met de Kylix Open Edition licentie!).

Binnen de Kylix IDE kunt u dit argumenten opgeven door te klikken op menu-optie Run, Parameters... en -ns in te voeren in het veld Parameters.

Bovendien kan de -ns commandoregel parameter (buiten de IDE om) aan elke Open Edition applicatie worden doorgegeven, waardoor de melding achterwege blijft:

Voor console applicaties is dat:

comment
//{$APPTYPE CONSOLE}

Voor GUI applicaties kunt u de applicatie opstarten met:

#./Project1 -ns

 

Kylix apps buiten de IDE om opstarten

Het is gebruikelijk in Linux dat applicaties worden opgestart met een script. Zo ook bij Kylix applicaties. In het script geeft u aan waar het systeem de bibliotheekbestanden van Kylix (en QT) kan vinden.

Zoals gebruikelijk zijn er meerdere mogelijkheden in Linux om dit voor elkaar te stomen. Omdat ik niet in uw systeem kan kijken noem ik er een paar – oplopend van makkelijk tot ingewikkeld. Kies één van onderstaande opties (dus niet allemaal) om te kijken of dit bij uw systeem werkt. Werkt er een, perfect; niet langer zoeken, laat de andere opties voor wat ze zijn!

1. Voeg onderstaande regel toe aan het etc/profile bestand:

source /usr/local/kylix2/bin/kylixpath

Werkt niet? Probeer dan:

2. Kopieer het opstartscript van Kylix en wijzig dit iets.
Dit script – startdelphi - vind u (als u Kylix als Root hebt geïnstalleerd) in de directory /usr/local/kylix3/bin (of anders in de /bin directory waar u Kylix bij installatie heeft neergezet).

Kopieer en hernoem startdelphi tot bijvoorbeeld zoiets als 'StartMijnApp'.
Verander de laatste regel uit dit script zo, dat het verwijst naar de feitelijke map waarin u uw applicatie hebt neergezet, en de feitelijke naam die u aan die applicatie heeft toegekend:

#!/bin/bash -v

source /usr/local/kylix3/bin/kylixpath /usr/local/kylix3 >/dev/null
/map/van/uw/applicatie/kylixapp $*

 

Op mijn systeem wordt dat bijvoorbeeld zoiets als:

#!/bin/bash -v
source /usr/local/kylix3/bin/kylixpath /usr/local/kylix3 >/dev/null
/home/peter/kylix/test/testapp

3. Werken de oplossingen onder 1 en 2 niet, dan onder (3) een script dat u zowel kunt gebruiken op systemen waar Kylix WEL als NIET op geinstalleerd is.
Schrik niet, ’t is een uitgebreid script. Ik laat het onvertaald, zoals dat ook op borland.public.kylix.non-technical is gepubliceerd.

‘t Komt erop neer dat uw applicatie moet weten:

  • waar alle *.so en runtime packages op uw systeem zijn
  • en dat het pad naar de applicatie voor Linux duidelijk is.

Knip, plak en wijzig, zou 'k zo zeggen.
Daar gaan we:


#!/bin/bash

# starter - bash script for Kylix application.
# may be used for environment where Kylix is installed
# and/or with your *deployed* application.
#
# cut and paste as a text file and chmod +x RunMyExe.
# the "#!/bin/bash" has to be the first line in your script.
# replace /opt/myappi/lib with /opt/kylix/bin (if Kilix installed)
# replace $HOME/myappi/bin with the path of your exe.
#
# -your script can be in different directory than your application
# -can be used for any Kylix application by substituting
#  the "lp" and "ap" values.
#
# -assumed in this example:
# -the Kylix library path is "/opt/myappi/lib"
# -the application path is "$home/myappi/bin"
# -the application name is "myexe"
# -the error log file "myappierrors.txt"
# -the starter script name is "RunMyExe"

# establish path to Kylix libs
lp=/opt/myappi/lib

# establish path of the application
ap=$HOME/myappi/bin

export LD_LIBRARY_PATH=$lp:$LD_LIBRARY_PATH
export PATH=$PATH:$ap

# the name of the executable and error log file.
myexe   2>>  myappierrors.txt

end


 

Met alle drie de oplossingen kunt u vanaf de desktop of vanuit het startmenu van KDE of Gnome een snelkoppeling maken naar het uitvoerbare script.

PS: Het alternatief is natuurlijk om van uw applicatie een package te maken waarmee u uw applicatie kunt distribueren. In hoofdstuk 13 van de Developer’s Guide staat hoe u dit aanpakt.

 

Kylix werkt niet ~ op Linux kernels 2.6

Surfend over het net kan het je bijna niet ontgaan dat Kylix op sommige Linux systemen niet werkt:

peter@linux-hgfa:/usr/local/kylix3/bin> startdelphi
expr: error while loading shared libraries: libc.so.6: cannot open shared object
file: No such file or directory
/usr/local/kylix3/bin/delphi: error while loading shared libraries: libpthread.s
o.0: cannot open shared object file: No such file or directory
peter@linux-hgfa:/usr/local/kylix3/bin>

Verder komt Linux niet.

Voor zover mij bekend beginnen Linux distributies met kernels waarin met glibc 2.4 of hoger is geïnstalleerd te stotteren bij een Kylix installatie. Zo schijnt Suse 10 (mijn eigen huidige Linux versie) er subiet mee op te houden wanneer hij ook maar iets van Kylix ruikt ...

Het probleem schijnt hiermee en met kernel 2.6 samen te hangen.
Werkt u met SuSe 9, dan is er (uit ervaring) geen vuiltje aan de lucht. Maar SuSe 10, Ububtu 6 (waar is Red Hat trouwens gebleven?)) zijn voorbeelden van distributies die wel op deze kernel gebaseerd zijn, en dus problemen geven. (Weet iemand of Libranet 2.8, Xandros 3, Elx Bizdesk 4 of Mandriva 2006 compatible is met Kylix 3?).

Echt goede oplossingen zijn er nog niet - tenminste, ik heb ze nog niet uit kunnen testen ;)

Een try-it-yourself 'work around' is beschikbaar voor kernels met glibc < 2.4, en ik post ze hier. Onuitgetest, dus: probeer, en kijk of het lukt!
Voor andere oplossingen (ook voor de glibc => 2.4) hou ik mij aanbevolen!

Mogelijke oplossing

Wijzig het script waarmee Kylix wordt opgestart: startdelphi (als u Kylix met de standaard instellingen hebt geinstalleerd, staat dit in /usr/local/kylix3/bin, anders in de /bin directory waar u Kylix bij installatie heeft neergezet)
en voeg onder #!/bin/bash -v één van onderstaande regels in:

export LD_ASSUME_KERNEL=2.4.21
export LD_ASSUME_KERNEL=2.2.5

Heeft u last van petieterige lettertypen - of juist een IDE in koeienletter - voeg daar dan op een nieuwe regel:

export LANG=en_US
export LC_CTYPE=en_US

aan toe. Zo is bekend dat in SuSe het LC_CTYPE niet correct wordt ingesteld, met als gevolg bovenstaand probleem.

Helpt niet. Wat dan wel?

Wat, als het u echt niet lukt om Kylix op die manier aan de gang te krijgen?
Dan rest er niets anders dan:

  • zelf op zoek te gaan op Internet naar oplossingen voor dit probleem (als er aanvullende zijn, dan zult u ze ook op deze pagina vinden).
  • te kijken of FreePascal of Lazarus wat te bieden hebben (beide zijn actieve Object Pascal/Delphi projekten & cross-platform (win, mac en Linux).
  • over te stappen op Delphi for .Net en lekker gebruik te maken van Mono.

PS: Overigens vind ik gemopper op Kylix naar aanleiding van dit alles niet helemaal terecht. Kylix is in mijn ogen nog steeds een dappere poging van Borland (geweest?) om een -onder Windows- zeer goede IDE op Linux beschikbaar te maken.
Je zou alleen kunnen zeggen dat Linux te versnipperd was (en nog steeds is) om van Kylix een succes te maken.
Wat voor het Linux platform met het kernel 2.6 debacle nog steeds blijft is: het ontbreken van een IDE die net zo snel en makkelijk ontwikkelt als Delphi onder Windows.

 
[ top ]
Dringende vragen? Suggesties & reacties? Email.
 
         
Untitled Document
   
© cfwebforge.com