Kylix3
|
Firma Inprise/Borland uvolnila pre Open Source programßtorov v poradφ u₧ tretiu verziu v²vojovΘho nßstroja Kylix3 Open Edition. ╚o je teda v balφku Kylix3 Open Edition novΘ? Novinkou na ktor· sa Φakalo, a ktor· firma Borland u₧ dßvnejÜie pris╛·bila je Kylix 3 (C++ IDE), samozrejme v balφku nßjdete aj nov· verziu Kylix3 (Delphi IDE).
|
||||||||||||||
|
Kylix3 Open edition û mß v porovnanφ s verziami Enterprise a Professional
obmedzen· funkΦnos¥. Ch²baj· komponenty na prßcu s databßzami,
komponenty na vytvßranie internetov²ch aplikßcii a v²voj modulov pre server
Apache. Nenßjdete tu novinky BizSnapÖ,
WebSnapÖ, DataSnapÖ,
VisiBroker«, AppServerÖ, taktie₧
ch²ba kni₧nica dbExpress pre r²chly a vysoko v²konn² prφstup k
databßzam IBM DB2, Oracle 8i, MySQL a InterBase. Naopak, v²hodou Kylix3
Open Edition je to, ₧e je zadarmo. Zφskate tak funkΦnΘ v²vojovΘ
prostredie s integrovan²m ladiacim nßstrojom, ktorΘ m⌠₧ete pou₧i¥ na
v²voj jednoduch²ch nekomerΦn²ch aplikßciφ. Komponenty pre prßcu s databßzou
si bu∩ naprogramujete sami alebo sk·ste h╛ada¥ na Internete. Jednou z hor·cich
adries, ktorΘ vßm m⌠₧em doporuΦi¥ je adresa www.torry.net,
kde nßjdete ve╛a r⌠znych komponentov rozdelen²ch do kateg≤riφ Components,
Applications,
Database,
Experts
a Tools.
Ak na uvedenej adrese nenßjdete
to Φo h╛adßte sk·ste eÜte adresu http://delphi.icm.edu.pl/
- Delphi Super Page alebo
http://www.tempest-sw.com/freeware/.
InÜtalßcia
produktu:
Ke∩₧e predpokladßm, ₧e Kylix3 Open Edition mßte u₧ vypßlen² na
CD, zaΦneme t²m, ₧e si pripravφme inÜtalaΦnΘ s·bory, teda treba pripoji¥
CD mechaniku a rozbali¥ s·bor kylix3_open.tar.gz.
Otvorte okno terminßlu a postupne vykonajte
nasleduj·ce prφkazy
:
mount
ût iso9660 ûr /dev/cdrom /mnt/cdrom
mkdir /install
tar -xvzf /mnt/cdrom/kylix3_open.tar.gz ûC /install
umount /mnt/cdrom
Sk⌠r ne₧ zaΦnete inÜtalßciu produktu, m⌠₧ete pomocou programu v
adresßri borpretest spusti¥ program ./testsystem, ktorΘho ·lohou
je otestova¥ operaΦn² systΘm na prφtomnos¥ kni₧nφc potrebn²ch pre
bezproblΘmovΘ spustenie Kylix3 Open Edition. PriΦom sa zis¥uje, akß je
verzia jadra (musφ by¥ 2.2.0+), verzia kni₧nice GLIBC (musφ by¥ 2.2+, prφpadne
opravenß verzia 2.1.2), X11 Server, prφtomnos¥ kni₧nice Libjpeg (6.2.0+) a nakoniec
sa testuje verzia kni₧nice Libgtk (1.2.0+)
Ak mßte v systΘme nainÜtalovanΘ sprßvne verzie kni₧nφc v²stup
programu testsystem by mal vyzera¥ nasledovne:
Borland
Kylix System Compatibility Test
Checking
loader....OK
Checking kernel >= 2.2....OK
Checking libc >= 2.1.2....OK
Checking libjpeg >= 6.2.0....OK
Looks
GOOD !!!
This system should be able to run Borland Kylix!
V prφpade, ₧e test nedopadne vo vÜetk²ch bodoch OK, a mßte problΘm
s kni₧nicou GLIBC, JPEG resp. Qt, treba naprφklad na adrese http://rpmfind.net/linux/RPM/
vyh╛ada¥ prφsluÜn² inÜtalaΦn² rpm balφk pre dan· kni₧nicu. Na inÜtalßciu
kni₧nice pre distrib·ciu RedHat, m⌠₧ete pou₧i¥ program kpackage
(KDE), prφpadne gnorpm (GNOME). Ak ste pokroΦil² u₧φvate╛, staΦφ
pou₧i¥ prφkaz rpm s prepφnaΦom i. Ak hovorφme o oprave
kni₧nφc nedß mi nespomen·¥ jednu informßciu. P⌠vodne firma Borland sprφstupnila
na svojom portßli balφk s ve╛kos¥ou 333 MB. Tento obsahoval naviac
adresßr patches, v ktorom sa nachßdzali opravnΘ balφΦky kni₧nφc
Qt, JPEG a GLIBC pre Mandrake, RedHat, Suse. Tento balφk vÜak bol na web
strßnke firmy Borland k dispozφcii len nieko╛ko dnφ. Firma zrejme
pochopila, ₧e s¥ahovanie balφka 333 MB zrejme nie je ideßlnym rieÜenφm
a tak uvolnila nov² balφk s ve╛kos¥ou 90,7 MB, ktor²
neobsahuje adresßr patches s opravn²mi rpm balφkmi kni₧nφc Qt,
JPEG a GLIBC. To som trochu odboΦil, vrߥme sa spΣ¥ k inÜtalßcii.
Ak teda test systΘmu skonΦil ·speÜne, m⌠₧ete bez obßv spusti¥ inÜtalßciu produktu Kylix3 Open Edition. Zariadite to prφkazom ./setup.sh alebo sh setup.sh. VzßpΣtφ sa vßm zobrazφ okno s LICENSE AGREEMENT, po ktorom nasleduje samotnß inÜtalßcia produktu Kylix2 (pozri obrßzok 1). InÜtalßtor umo₧≥uje nastavi¥, kam sa bude program inÜtalova¥, v ktorom adresßri sa vytvoria symbolickΘ linky, ktorΘ balφky sa maj· nainÜtalova¥ (oproti verzii Enterprise Edition nie je ve╛mi z Φoho vybera¥) a Φi si prajete vytvori¥ polo₧ku v menu KDE resp. GNOME. Po kliknutφ na tlaΦidlo Begin Install prebehne nainÜtalovanie programu. InÜtalßcia zaberie na disku pribli₧ne 170 MB (samozrejme to len v prφpade v²beru vÜetk²ch komponentov, ktorΘ inÜtalßtor pon·ka). Chcel by som vÜak upozorni¥ na jednu chybu, ktorß sa vßm m⌠₧e vyskytn·¥. V prφpade, ₧e vßm inÜtalßtor vypφÜe chybu Error -10 while installing, treba inÜtalßciu spusti¥ s parametrom -m (teda ./setup.sh ûm, resp. sh setup.sh ûm).
Ka₧dß aplikßcia vytvorenß programom Kylix3 Open Edition obsahuje
tzv. "vodoznak", t.j. peΦiatku kompilßtora (pozri obrßzok 2). Tßto
peΦiatka sa v₧dy zobrazφ pri spustenφ programu vytvorenΘho pomocou v²vojovΘho
nßstroja Kylix 3 (C++ IDE) alebo Kylix3 (Delphi IDE). Ke∩ si uvedomφte, ₧e zφskate
zadarmo profesionßlny program na pomerne jednoduchΘ vytvßranie aplikßciφ, dß
sa to prehliadnu¥ aj ke∩ ja by som osobne uprednostnil umiestnenie tohoto
vodoznaku naprφklad do menu, alebo na menej ruÜivΘ miesto.
Teraz vßs
zrejme napadne otßzka. Dß sa zobrazovanie peΦiatky kompilßtora potlaΦi¥?
Odpove∩ je û ßno, existuje sp⌠sob ako to urobi¥. Najsk⌠r si ukß₧eme ako
postupova¥ pri GUI aplikßcii.
Pokia╛
GUI aplikßciu sp·Ü¥ate priamo v prostredφ Kylix3 (C++ IDE) alebo Kylix3 (Delphi IDE), treba vybra¥ v hlavnom
menu polo₧ku Run/Parameters... a do okna ktorΘ sa zobrazφ (pozri
obrßzok 3), do druhΘho riadku musφte doplni¥ prepφnaΦ ûns. Po
kliknutφ na tlaΦidlo OK sa u₧ peΦiatka kompilßtora nezobrazφ.
Ak GUI
aplikßciu chcete spusti¥ mimo prostredia Kylix3
(C++ IDE) alebo Kylix3 (Delphi IDE), musφte uvies¥ parameter ûns.
Naprφklad ak chcete spusti¥ program hello, urobφte to takto:
./hello
-ns
Druh²m
typom aplikßcie s ktorou sa m⌠₧ete be₧ne stretn·¥ je konzolovß aplikßcia.
program
conapp;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
{ TODO -oUser -cConsole Main :
Insert code here }
WriteLn('');
WriteLn('Hello world!');
WriteLn('');
end.
V tomto
prφpade sa samozrejme nezobrazuje ₧iadne, okno ke∩₧e ide o konzolov·
aplikßciu, ale po spustenφ aplikßcie sa na konzolu vypφÜe text peΦiatky [This
module must be distributed under the terms of the
GNU General Public License (GPL), version 2. A copy of this license can be found
at: http://www.borland.com/kylix/gpl.html].
Zobrazovanie peΦiatky kompilßtora potlaΦφte tak, ₧e riadok {$APPTYPE
CONSOLE} jednoducho upravφte takto:
//{$APPTYPE
CONSOLE}
Ak
teraz prelo₧φte a spustφte vyÜÜie uveden² program, peΦiatka kompilßtora
sa u₧ na konzole nezobrazφ.
Komponenty
V Kylix3
Open Edition mßte k dispozφcii nasleduj·ce komponety (pozri obrßzok 4).
Ako som u₧ spomenul v ·vode, ∩alÜie komponenty si m⌠₧ete naprogramova¥
sami alebo sk·ste prφsluÜn² komponent poh╛ada¥ na Internete.
STANDARD
Frames, MainMenu, PopupMenu, Label, Edit, Memo, Button, CheckBox, RadioButton,
ListBox, ComboBox, ScrollBar, GroupBox, RadioGroup, Panel, ActionList.
ADDITIONAL
BitBtn, SpeedButton, MaskEdit, StringGrid, DrawGrid, Image, Shape, Bevel,
ScrollBox, CheckListBox, Splitter, ControlBar, LcdNumber, Timer, PaintBox.
COMMON
CONTROLS
TabControl, PageControl, ImageList, TrackList, TrackBar, ProgressBar,
TreeView, ListView, HeaderControl, StatusBar, ToolBar, TextViewer, TextBrowser,
SpinEdit, IconView.
SYSTEM
DirectoryTreeView, FileListView, FileIconView, FileEdit, FileHistoryComboBox,
FilterComboBox.
DIALOG
OpenDialog, SaveDialog, FontDialog, ColorDialog, FindDialog, ReplaceDialog.
Vlastnosti Kylix3 Open
Edition
Kylix3
obsahuje vstavan² assembler s podporou ·plnej inÜtrukΦnej sady 32-bitovΘho
procesora Intel x86 (vrßtane inÜtrukciφ Pentium Pro, Pentium III,
Pentium 4, MMX«, SIMD a Streaming SIMD Extensions (SSE) a AMD« 3DNow).
Podporuje u₧φvate╛sk² dßtov² typ Variant, pou₧φvanie a tvorbu
dynamicky zavßdzan²ch balφkov pre vyÜÜiu efektivitu aplikßcie, umo₧≥uje
tvorbu zdie╛an²ch kni₧nφc (.so), vyhodnocovanie v²razov v direktφvach
prekladaΦa a podporuje predkompilovanΘ hlaviΦkovΘ s·bory, pre r²chlejÜiu
kompilßciu jazyka C++. Direktφva Deprecated sa starß o vyÜÜiu ochranu
pri v²voji aplikßciφ. PomocnΘ direktφvy Platform a Library vßm u╛ahΦia
v²voj multiplatformn²ch aplikßciφ. ╧alej mßte k dispozφcii strom
objektov pre r²chlejÜiu navigßciu medzi komponentmi na formulßri, vizußlnych
nßvrhßrov (diagramy), otvorenΘ Tools API pre integrßciu vaÜich ob╛·ben²ch
nßstrojov, pomocnφka pre tvorbu konzolov²ch aplikßciφ , editor k≤du
Borland AppBrowser s hypertextov²mi odkazmi, premennΘ prostredia vo vyh╛adßvacφch
cestßch pre automatickΘ vyh╛adßvanie po₧adovan²ch s·borov, mapovanie klßves
pre editor vrßtane Üt²lu mapovania Emacs, navigßciu v celom projekte
pre lepÜie pochopenie k≤du a kni₧nice CLX, zoznam ·loh pre lepÜiu
organizßciu prßce, dßtovΘ moduly pre centralizovan· dßtov· integritu a obchodnΘ
pravidlß, vyspelΘho sprßvcu projektu, viac u₧φvate╛sk²ch konfigurßcii (profilov)
u₧φvate╛skΘho rozlo₧enia pracovnej plochy.
Maximßlna
znovupou₧ite╛nos¥ s objektovo orientovanou na komponentoch zalo₧enou
architekt·rou v kni₧nici Borland CLX (Component Library for Cross-platform),
vizußlna dediΦnos¥ a prepojovanie CLX formulßru pre ni₧Üiu potrebu k≤du
a zjednoduÜenie ·dr₧by, depozitßr objektov pre uschovanie a znovupou₧itie
formulßrov, dßtov²ch modulov a expertov, kni₧nica multiplatformn²ch
komponentov pre Linux, prieskumnφk k≤du pre automaticky aktualizovanΘ odkazy
medzi triedami zdrojov²ch s·borov vytvoren²ch v jazyku Delphi. Nßjdete
tu tie₧ wizarda (pomocnφka) pre Üabl≤ny k≤du (jednoduchÜia tvorba k≤du),
∩alej pre dopl≥ovanie k≤du (sprßvna syntax), pre parametre k≤du (zobrazovanie
zoznamu parametrov, proced·r, met≤d a udalostφ).
╚o sa
t²ka ladenia, mßte k dispozφcii tieto vlastnosti: plnohodnotn² ladiaci
prostriedok s farebn²m zv²raznen²m syntaxe, ladenie zdie╛an²ch
objektov, detailn² preh╛ad modulov pre inÜpekciu modulov zaveden²ch do pamΣti,
r²chle vykonßvanie programu do nßvratu z podprogramu, vzßjomnΘ
prepojenie medzi ladiacimi oknami a editorom k≤du vrßtane schrßnky a met≤dy
drag and drop, vyspelΘ body preruÜenia s dßtov²mi sp·Ü¥acφmi, plßvaj·cimi
oknami, akciami a skupinami pre r²chlejÜiu a kompletnejÜiu kontrolu
nad ladenφm, v²pis obsahu FPU s podporou MMX« pre lepÜie nφzko-·rov≥ovΘ
ladenie, v²vojovΘ prostredie s podporou MBCS a kni₧nica CLX s podporou
MBCS.
K uveden²m
vlastnostiam eÜte treba prida¥ vyΦerpßvaj·cu online dokumentßciu pre r²chlu
orientßciu, kontextov· pomoc, ktorß obsahuje prφkazy, dial≤gy, komponenty,
k╛·ΦovΘ slovß a ∩alÜie informßcie. PoslednΘ Φo treba spomen·¥
je, ₧e Kylix3 Open Edition obsahuje r⌠zne ukß₧kovΘ aplikßcie pre r²chlejÜφ
·vod do programovania v Delphi a C++.
Sp·Ü¥anie aplikßciφ
mimo prostredia IDE
Ke∩ budete
chcie¥ spusti¥ GUI aplikßciu mimo prostredia Kylix 3 (C++ IDE) alebo Kylix3 (Delphi
IDE) dostanete chybovΘ hlßsenie: Error while loading shared libraries:
libqtintf-6.9-qt2.3.so cannot open shared object file: No such file or directory.
Ak pou₧ijete prφkaz ldd meno_aplikßcie zobrazia sa vßm na
obrazovke vÜetky kni₧nice, ktorΘ vßÜ program potrebuje pre svoju Φinnos¥.
VßÜ program potom musφte s t²mito kni₧nicami aj distribuova¥.
/lib/libNoVersion.so.1
=> /lib/libNoVersion.so.1 (0x40014000)
libqtintf-6.9-qt2.3.so => not found
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4002e000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40103000)
libdl.so.2 => /lib/libdl.so.2 (0x40117000)
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Ak sa pozriete
na druh² riadok v²pisu nßjdete tam informßciu libqtintf-6.9-qt2.3.so
=> not found.
Tento problΘm
sa dß rieÜi¥ tak, ₧e nastavφte premennΘ prostredia LD_LIBRARY_PATH a
PATH, pomocou prφkazu export. Vytvorφme si jednoduch² script
pomocou ktorΘho urobφte potrebnΘ nastavenia premenn²ch a spustφte
aplikßciu z nßzvom Project1.
#!/bin/sh
export LD_LIBRARY_PATH=/usr/local/kylix3/bin
export PATH=$PATH:/usr/local/kylix3/bin:/usr/local/kylix3/lib
./Project1
Po nastavenφ
premenn²ch prostredia LD_LIBRARY_PATH a PATH je u₧ vÜetko v najlepÜom
poriadku, Φoho d⌠kazom je aj nasleduj·ci v²pis:
/lib/libNoVersion.so.1
=> /lib/libNoVersion.so.1 (0x40014000)
libqtintf-6.9-qt2.3.so => /usr/local/kylix3/bin/libqtintf-6.9-qt2.3.so
(0x40017000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401d0000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x402a5000)
libdl.so.2 => /lib/libdl.so.2 (0x402b9000)
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
libqt.so.2 => /usr/local/kylix3/bin/libqt.so.2 (0x402bc000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4096f000)
libm.so.6 => /lib/i686/libm.so.6 (0x4097c000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x4099e000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x409a6000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x409bd000)
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0x409db000)
Zßver
Aj napriek
nedostatkom, ktorΘ Kylix3 Open Edition obsahuje vßm ho m⌠₧em len odporuΦi¥,
zφskate tak dva nßstroje Kylix 3 (C++ IDE) a Kylix3 (Delphi IDE) na r²chly v²voj
aplikßciφ pod Linuxom. Na testovanie tohoto produktu bola pou₧itß distrib·cia
Red Hat Linux release 7.3 (Valhalla) s jadrom 2.4.18-3. Ak Kylix3 Open
Edition eÜte nemßte (Viz. toto Chip CD), m⌠₧ete ho kedyko╛vek zφska¥ na
adrese www.borland.com/products/downloads/download_kylix.html,
balφk mß ve╛kos¥ 90.7 MB. Pre jeho funkΦnos¥ eÜte potrebujete licenΦn²
s·bor, ktor² treba nakopφrova¥ do adresßra u₧φvate╛a. S·bor vßm poÜle
automatick² agent web strßnky www.borland.com
elektronickou poÜtou po vyplnenφ dotaznφka.
Peter
GaÜparoviΦ
PodporovanΘ
distrib·cie OS Linux:
╖
Red HatÖ 7.3
╖
MandrakeÖ 8.2
╖
SuSE« 7.3
SystΘmovΘ
po₧iadavky pre Kylix3 Open Edition:
KylixÖ
3 Open Edition (free)
ò Intel«
Pentium« II/500 MHz
ò 256
MB RAM
ò 200
MB volnΘho miesta na disku pre plnou inÜtalßciu
ò CD-ROM
mechanika
ò Monitor
s rozlφÜenφm VGA nebo vyÜÜφm
ò MyÜ alebo inΘ
polohovacie zariadenie
Vysvetlivky:
IDE
(Integrated Development Environment)
û integrovanΘ v²vojovΘ prostredie, ktorΘ obsahuje previazan² editor,
prekladaΦ (compiler), spojovacφ program (linker) a ladiaci nßstroj (debugger)
RAD
(Rapid Application Development)
û r²chly v²voj aplikßciφ. Pou₧φva sa v s·vislosti s vizußlnymi
nßstrojmi pre tvorbu aplikßciφ.
GUI
(Graphic User Interface)
û grafickΘ u₧φvate╛skΘ rozhranie.
FPU
(Floating Point Unit) û v²konnß
jednotka procesora pre operßcie v pohyblivej rßdovej Φiarke.
MMX
(MultiMedia eXtensions) û
rozÜiruj·ce inÜtrukcie procesora pre zr²chlenie vektorov²ch a maticov²ch
operßciφ.