Linux
Kylix index:

Kennismaking

LFT reeks

Gebruik




Kylix

Kylix Open Edition
Bijlage bij Linux Format
October 2001

Systeem nodig:
Kernel 2.2 of +
libjpg 6.2 of +
glibc 2.1.2 of +
loader uit glibc 2.2
Ruimte:
hoofdprogr. 66 Mb
helpfiles 75 Mb

Kylix
Een gekregen paard
(upd 16/09/2001)
Bij Linux Format van oktober zit de Open Edition van Kylix. Het is een ontwikkelomgeving van Borland, die het Linux alternatief moet vormen voor Delphi. Met een achtergrond van Pascal en Modula-2 leek het een interessante uitdaging om dat te proberen.

Installatie
De voorwaarden kunnen gecontroleerd worden vooraf door middel van een bijgeleverd script. Op een suse 6.4 had ik bv het "loader" probleem, op suse 7.2 niet. Verder las ik ergens dat je een bepaalde module moet hebben om MySQL te kunnen benaderen. Er is een installatiescript dat onmiddellijk de grafische interface gebruikt om te installeren.
Bij installatie kan men kiezen voor het programma en de helpfiles, de plaats van installatie (standaard /home/username/kylix, alhoewel ook /usr/share/kylix wordt aangeraden), en link path. De installatie gaat snel (op een recent systeem), en er wordt nog eens bevestigd in welke directory de installatie gebeurde. Er wordt opgemerkt dat X moet herstart worden om de menu's aan te passen, en dat "startkylix" het commando is om te starten.
"Generating Font Matrix Please Wait" is het antwoord na het voor de eerste keer starten. Omdat het wachten met te lang duurt sluit ik die dialoog en krijg ik het registratiescherm. Op de website moet je heel wat gegevens geven om te registeren. Die maakt een verbinding met register.borland.com, als die tenminste bereikbaar is. Dan kom je op een pagina waar je een vragenlijst moet beantwoorden. Even later kan je dan wachten op de reaktie van die "community.borland.com" website. Dan kom je op een pagina met nog wat keuzes, waaronder die om de code te laten opsturen. Die komt snel als een e-mail binnen. Na het invullen van die code in het opstartscherm krijg je helaas de volgende vragen; je moet "registeren", waarvoor je een bestaande account kan gebruiken (ik geef de zonet aangemaakte gegevens), waarna contact wordt gemaakt met de "registratie server", en een bevestiging komt op de voormelde gegevens. Oef, door de registratie heen! Ik klik een laatste keer "ok" en Kylix start op in een aantal schermen, met een vester met broncode van Unit1.pas.

Gebruik
Een nieuwe omgeving leren gebruiken neemt altijd wat tijd in beslag. Eens naar de voorbeelden kijken is dikwijls een goed idee, en hier zijn gelukkig ook een aantal "sample" programma's bijgeleverd. Ik koos bv het klok-programma, de code ging open, ik keek even in het menu, drukte op "run", en even later liep het programma. Daarbij valt op dat er een melding komt van de "Open" versie van Kylix. Deze melding is te onderdrukken met de command line parameter -ns.
Een button op een nieuwe form slepen, bij de eigenschappen een titelbar tekst invullen, bij de "events" van de knop het "OnClick"event uitkiezen en daarin het commando geven om "Hello World" weer te geven, dat is wat nodig is om de typische eigen eerste proef te doen. Oh nee, da's juist, je moet ook nog op "run" klikken daarna.

Bij starten van een project bewaart men een Unit file, conventie Ufilename, en een project file, conventie filename, wat de naam van de executable wordt.
Een "auto-bewaar" instelling zou ook nuttig zijn als je te erg in je programmeerwerk opgaat; je kan heel wat tik en denkwerk verliezen door een verkeerde toetsaanslag. Gebruik dus best veel CTRL-S. Of zet de auto-save optie van de editor aan.
Er wordt gewerkt met een "form", waarop je alle elementen plaatst. De elementen op een form kunnen zichtbaar of niet zichtbaar zijn:
- visible at design time + visible at runtime
- invisible at design time + visible at runtime: symbool, kunnen overlapt worden door bv edit-gebied.
In de object inspector werk je aan de eigenschappen van de objecten op de form. Een menu kan je makkelijk kreeren (als object op de form), en er menu-items aan toevoegen met sneltoetsen en symbolen. Je kan een aktie, uit te voeren als erop geklikt wordt, eraan toekenen, waarbij een handig voorkeuzelijstje alle voorgaande bewaart. Tot er een probleem opduikt, namelijk een aktie blijkt al te bestaan, daarom wordt het bijvoegen geweigerd, en als je in de code gaat kijken zie je ze idd staan. Maar in de voorkeuzelijst komt ze niet voor, dus je kan ze ook niet selecteren. Dan zou je eigenlijk eens onder de motorkap van die voorkeuzelijst moeten kunnen kijken, of hem opnieuw laten genereren: in de code is het item namelijk wel terug te vinden. Mogelijk is de oorzaak van deze ongerijmdheid een vroegere crash. Dus het item verwijderen uit de code levert lijkt de oplossing te zijn; helaas blijkt na afsluiten en terug openen van het project dat bij een menu-items plots een andere event trigger opduikt, dan hij ervoor had. De "verdachte items" verwijderen en opnieuw maken was mijn laatste poging om het te redden, maar toen "hing" Kylix, en samen daarmee nog een stuk van mij KDE (ik dus niet helemaal zeker dat het aan Kylix ligt, maar het vermoeden is groot). Omdat ik geen enkel menu meer kan besturen en de toetscombinatie niet ken om het k-menu te openen (als die al bestaat in K - toch iets te leren van CTRL-ESC? of doe het zelf, alhoewel dit toch een echte basisfuntie is) moet ik de grafische schil afluiten met een noodprocedure.
Na herstart de verdachte items verwijderd en opnieuw toegevoegd, toen was het terug ok. Ook bij het toevoegen van iconen aan de verzameling iconen die bij een menu horen moet je blijkbaar voorzichtig zijn; de iconen krijgen een nummer van volgorde, en je hebt telkens een aktief of niet aktief icoon ("hot"), wat aan moet duiden of het selecteerbaar is. Bij het heen en weer schakelen tussen de form en de object inspector ging de controle over de omgeving weer d emist in: ik kon geen ander venster meer selecteren na een klik op de object inspector, die wel aktief werd maar geen werk toeliet. Bij de selectie van het icoon uit de bestandenlijst is het vervelend dat je wel handig kan selecteren op naam, je tikt de eerste tekens en de bestandenlijkst schuift op naar de passende file, maar daarna kan je niet op enter drukken om je selectie te bevestigen, en moet je naar de muis grijpen, ook een sneltoets is er niet.
Een andere verassing beleef ik wanneer ik het startkylix icoon van mijn desktop wil halen. Ik dacht het eenvoudig te vervangen door een entry in mijn menu, wat ik dan ook maak. Als ik het selecteer begint "Generating Font Matrix - please wait". De volgende dag is mijn geduld op en beeindig door de x te drukken in de hoek van het venster, en hoop dat mijn fonts het overleefd hebben. Kylix lijkt daarna gewoon op te starten.

Tijdens het gebruik van Kylix merk ik rare dingen. Blijkbaar vormt het een ongelukkige combinatie met KDE, Quanta, Netscape en mijn laptop T21. (in het beste geval), want regelmatig hangt Kylix (meestal in de object inspector), daarna KDE, dikwijls de muis of het toetsenbord. En even later kan ik ook niet meer aan een CTRL-ALT-F2 andere terminal sessie, soms niet aan een andere desktop CTRL-F1-4, om te eindigen met een volledige vastloper: geen ctrl-alt F1234, geen ctrl-alt-bs, geen ctrl-alt-del. Pijnlijk op een Linux systeem, maar de echte dader kan ik niet feilloos identificeren.
Maar er zijn ook mooie dingen: het handig combineren van action list met menu's, toolbarbuttons en hints brengt je snel tot het aanbieden van gebruiksvriendelijke terugkoppeling in je programma.

(begonnen op 15/09/2001 voor users.online.be/linux, copyleft volgens www.copyleft.be)

Compiled by script ./makekylix.sh for Cybrarian@tire on ma jan 28 16:01:07 CET 2002
Site Script   - ( .) - ( ./..) - ( ./../../) - (open source, zie CopyLeft) - (terug)