Portál AbcLinuxu, 13. května 2025 23:33
Pouzivam Kylix 3 enterprise, potrebuju udelat server fungujici v prikazove radce, musim vyuzit INDY komponenty (konkretne TIdTCPServer), abych mohl naprogramovat server a aby se na nej mohli pripojovat klienti z woken. Nasledujici kus kodu v pohode funguje v c++ builderu na woknech:
TIdTCPServer *IdTCPServer; IdTCPServer = new TIdTCPServer(NULL); IdTCPServer->....nastaveni spousty parametru IdTCPServer->Active = true;
Pote jiz server v prik.radce posloucha na urcitem portu a plni pozadavky.
Pokud to prenesu na Kylix 3 (c++ ide), pak to pri Buildu hlasi tohle:
[Linker Error] Unresolved external 'Idtcpserver::TIdTCPServer::' \ referenced from Unit1.o [Linker Error] Unresolved external '__fastcall Idtcpserver::TIdTCPServer::TIdTCPServer\ (Classes::TComponent *)' referenced from Unit1.o
Unit1 je zkusebni aplikacka, na ktere to zkousim. (Tataz ve woknech jde). Jinak techto podobnych chyb je mnohem vice, cim vic prikazu pracujici s IdTCPServer odkomentuju, tim vic chyb. Nechapu co tomu Kylixu vadi, kdyz zalozim normalni aplikaci - Form - a na nej dam tuto komponentu, a treba i uplne stejnym zpusobem jako v prikazovy radce s tim pracuju, pak to funguje. Jenze ja potrebuju pouze prikazovou radku.
BTW: Nevite nekdo, jak se spravi, kdyz u vetsiny chyb pise:
Message catalog not foundto by mi taky trochu pomohlo
Řešení dotazu:
Kdybych tak vedel jak...
ale opravdu to tak vypada...je to stejna chyba, ktera se objevila, kdyz sem kdysi delal v C projekt a zapomnel jsem gcc prihodit nektere .o soubory. Musim prijit na to, proc, kdyz vytvorim normalni projekt a umistim na Form komponentu, proc ji prilinkuje a v prik.radce nikoliv.
Ja uz jsem se neco v Kylixu nabojoval, spousta problemu s tim byla (je a bude). Nad touto chybou jsem o5 stravil vcera pres 6 hodin a dnes budu travit dale
No vyborne, uz se mi to povedlo vyresit. Kylix je naprosto katastrofalni produkt, zaplatpanbuh, to co sem musel udelat, to funguje.
Reseni:Mel sem projekt ulozen v adresari
/programs/kylix3/projects/import_ss
Pro zvidave: /programs je druhej disk, proto takhle
Nahodou jsem zkusil presunout projekt do/tmp/import_ssa najednou to fungovalo, slo to prelozit. Co byste na to rekli?
Zjistil jsem,ze tomu hajzlovi nejak vadi 4.uroven v ceste, nakonec jsem vsechny projekty presunul do
/programs/projekty
a vsechno funguje. To je katastrofa. A to jeste mam podezreni, ze Kylixu (resp. nekterym knihovnam) vadi cisla v ceste. Podtrzitka mu nevadi.
Pred casem jsem mel podobny problem s komponentami dbExpress v C++ Builderu na widlich. Kdyz byl projekt ulozen v adresari, jehoz nazev obsahoval zavorky, tak mi - ani za boha - nefungovalo pripojeni na Oracle s temito komponentami.
Takoveto chyby jsou opravdu bajecne a uzijete si mnoho "zabavy" pri jejich odstranovani.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.