Dedinčan odporúča...

logo LibreOffice je nástupcom OpenOffice.org a je to plnohodnotný kancelársky balík, ktorý je možné prevádzkovať na všetkých hlavných operačných systémoch a platformách. Je šírený pod GPL a podporuje formáty súborov mnohých iných kancelárskych balíkov.

Lazarus a Indy 10

Kategória: Lazarus
Upravené: pondelok, 8. december 2008

Indy je balík desiatok komponentov pre prácu s TCP/IP sieťami. Pôvodne bol navrhnutý pre Deplhi, ale v súčasnosti na domovskej stránke poskytujú na stiahnutie aj balíky verzie 10 pre Lazarus. Tak sapozrime ako Indy nainštalovať do prostredia Lazarus.

Indy je poskytované v archíve, ktorý obsahuje dve časti:

Podadresár fpc

  • obsahuje indy-core (obdoba indy-rtl): všetky triedy a veci potrebné pre kompiláciu indy-programy pomocou fpc. Táto časť nepotrebuje Lazarus a musí byť kompilovaná a nainštalovaná najprv.

Podadresár lazarus

  • obsahuje design-time komponenty: všetky veci potrebné pre vytvorenie Lazarus gui-aplikácií pomocou palety komponentov Lazarus a návrhára formulára. Tieto nie sú potebné pre kompiláciu programov (GUI ani konzolové), len pre proces RAD návrhu. 

Inštalácia v Linuxe

Inštalácia na Debian/Ubuntu

Balíček Indy pre Linux obsahuje pripravené pravidlá pre vytvorenie debianovského inštalačného balíčka. Ak máte FPC na Debiane nainštalovaný z inštalačného balíčka, je lepšie nainštalovať tak aj Indy. Takže

  1. z domovskej stránky www.indyproject.org stiahnite a rozbaľte balíček pre Linux, na tento adresár sa budem odkazovať ako na indy.
  2. vstúpte do podadresára fpc cd indy/fpc
  3. zmeňte práva súboru rules chmod +x debian/rules
  4. ak nemáte nainštalované fakeroot, nainštalujte ho sudo apt-get install fakeroot
  5. spusťte vytváranie balíčka dpkg-buildpackage -rfakeroot -uc
  6. balíček je vytvorený o jednu úroveň vyššie, takže cd ..
  7. a môžete ho nainštalovať, napríklad sudo dpkg -i *.deb
  8. po nainštalovaní Indy do FPC treba opäť vybudovať IDE Lazarus, aby sa premietli zmeny v FPC,
  9. ostáva nainštalovať vizuálnu časť, takže v Lazarus nainštalujte balíček indylaz.lpk.
  10. popis opravy chýb nájdete na konci článku.

Vybudovanie 

Ak nepoužívate inštalačnú verziu, postupujte takto (netestované, len opísané a preložené):

  1. stiahnuť balíček pre Unix/Linux z www.indyproject.org
  2. rozbaliť a vstúpiť do indy/fpc/
  3. spustiť "make all"
  4. spustiť "make install"
  5. spustiť "make sourceinstall INSTALL_FPCSUBDIR=fpc/packages/extra"
  6. znova prebudovať Lazarus 
  7. spustiť Lazarus 
  8. otvoriť indy/lazarus/indylaz.lpk 
  9. preložiť a nainštalovať ho (preloží znova IDE)

Inštalácia vo Win32

Inštalácia Indy 10 vo Windows sa skladá z dvoch krokov, a to inštalácia nevizálnych komponentov (tried, premenných, konštánt, ...) v FPC a inštalácia vizuálnych komponentov do Lazarus. Ak nechcete používať vizuálne komponenty, druhý krok nemusíte robiť. Pre samotnú inštaláciu je potrebné stiahnuť z www.indyproject.org balíček (indy-10.2.0.3) pre Windows, tento rozbaliť, napríklad do rozaliť, napríklad do C:/indy. V ďalšom sa neho budem odkazovať ako na indy.

Inštalácia nevizuálnej časti (FPC)

Inštalácia do FPC prebehla úplne bez problémov: 

  1. vstúpiť do indy/fpc/
  2. nastaviť premennú prostredia SET FPCDIR=c:\lazarus\fpc\2.2.0\source
  3. spustiť make all (make je súčasťou FPC)
  4. spustiť make install INSTALL_PREFIX=c:\lazarus\fpc\2.2.0
  5. spustiť make sourceinstall INSTALL_PREFIX=c:\lazarus\fpc\2.2.0 INSTALL_FPCSUBDIR=packages/extra

Inštalácia vizuálnej časti (Lazarus)

Inštalácia v Lazarus už taká bezproblémová nie je, ale nakoniec aj v README sa dočítate, že vizuálne komponenty neboli testované... Popis opravy chýb nájdete na konci článku.

  1. spustiť Lazarus, 
  2. prebudovať IDE Lazarus, aby sa premietli zmeny nainštalované do FPC,
  3. otvoriť indy/lazarus/indylaz.lpk 
  4. preložiť a nainštalovať ho (preloží znova IDE)

Problémy prekladu 

Pri inštalácii vizuálnych komponentov sa vyskytli chyby pri preklade balíčka.

Chybná definícia ResourceStrings

/usr/src/fpclaz/indy-10.2.0.3/lazarus/IdDsnResourceStrings.pas(59,28) Error: Illegal expression

Treba upraviť riadky

RSProtam = RSProt+' (am)';
RSProtnz = RSProt+' (nz)';

napríklad na

RSProtam = ' Protocols (am)';
RSProtnz = ' Protocols (nz)';

Nedefinovaná jednotka IdSocksServer

Ako ďalšia sa objavila chyba

/usr/src/fpclaz/indy-10.2.0.3/lazarus/IdRegister.pas(695,18) Error: Identifier not found "TIdSocksServer"

Stačí do klauzuly uses v sekcii implementation pridať odkaz na IdSocksServer.

Nenastavená cesta

Potom sa objavilo hlásenie, že Lazarus nemôže nájsť súbor IdWhoIsServer.pas. V okne chybovej správy je aj popísané riešenie, IdWhoIsServer.pas som našiel takto:

find / -iname idwhoisserver.pas
...
/usr/share/fpcsrc/packages/extra/indy/IdWhoIsServer.pas

A túto cestu (bez mena súboru) som nastavil do cesty k ostatným jednotkám (-uF) vo vlastnostiach balíčka. Ide vlastne o cestu k zdrojovým súborom Indy.

Chýbajúci include súbor

Nasledovala posledná chyba prekladu:

/usr/share/fpcsrc/packages/extra/indy/IdGlobal.pas(554,4) Fatal: Can't open include file "IdVers.inc"

Súbor IdVers.inc nie je do zdrojového balíčka zahnrutý, takže ho treba ručne prekopírovať do cesty nájdenej v predchádzajúcej chybe. Tento súbor je v adresári indy/fpc, takže stačí:

cd indy/fpc<>
cp IdVers.inc /usr/share/fpcsrc/packages/extra/indy/

Zdvojená definícia TIdCompressionIntercept

V Súbore IdRegister.pas, ktorý obsahuje registračné procedúry komponentov, je dva krát definovaná registrácia komponentu TIdCompressionIntercept. Takže nájdite túto časť

RegisterComponents(RSRegIndyIntercepts+RSProt, [
   {$IFDEF USEZLIBUNIT}
   TIdCompressionIntercept,
   {$ENDIF}
   TIdBlockCipherIntercept,
   TIdCompressionIntercept,
   {$IFDEF USEZLIBUNIT}
   TIdServerCompressionIntercept,
   {$ENDIF}
   TIdServerInterceptLogEvent,
   TIdServerInterceptLogFile
   ]);

a zakomentujte druhý výskyt TIdCompressionIntercept:

RegisterComponents(RSRegIndyIntercepts+RSProt, [
   {$IFDEF USEZLIBUNIT}
   TIdCompressionIntercept,
   {$ENDIF}
   TIdBlockCipherIntercept,
   //TIdCompressionIntercept,
   {$IFDEF USEZLIBUNIT}
   TIdServerCompressionIntercept,
   {$ENDIF}
   TIdServerInterceptLogEvent,
   TIdServerInterceptLogFile
   ]);

A prebudujte preinštalujte balíček, respektíve prebudujte IDE.

Záver

Po vyriešení problémov budete odmenení desiatkami sieťových komponentov.

Komentáre  

 
# trolo_vk 06. 05. 2010; 00:49
funguje to?
Odpovedať | Odpovedať citáciou | Citovať
 
 
# trolo_vk 06. 05. 2010; 00:51
ok funguje tak znova...
Ahoj,
mam dotaz, kde si stiahol balíček (indy-10.2.0.3)? na www.indyproject.org vidim len indy-10.2.0.1...

dik
Odpovedať | Odpovedať citáciou | Citovať
 
 
# trolo_vk 06. 05. 2010; 00:58
hmm nieco tu blbne zmizli moje komentare :sad:((
Odpovedať | Odpovedať citáciou | Citovať
 
 
# trolo_vk 06. 05. 2010; 00:59
jo a ten make tiez neni v tom adresari indy/fpc/, kde ho teda najdem?
Odpovedať | Odpovedať citáciou | Citovať
 
 
# trolo_vk 06. 05. 2010; 01:00
serem na to miznu tu komenatare
Odpovedať | Odpovedať citáciou | Citovať
 
 
# Slavko 10. 05. 2010; 20:07
pred tým, ako budeš nabudúce zase vulgárny, najprv si skontroluj nastavenia svojho prehliadača...

Alebo si prečítaj toto: http://cs.wikipedia.org/wiki/Wikipedie:Aktualizujte_svou_cache
Odpovedať | Odpovedať citáciou | Citovať
 

Copyright © 2008 - 2012 Sprievodca dedinčana... Niektoré práva vyhradené.
Ak nie je uvedené inak, obsah podlieha licencii „Creative Commons Uveďte autora – Zachovajte licenciu 3.0 Unported

Nenasledovať tento odkaz, inak budete maž zakázaný prístup na stránku!