[in so einem Linux heft war als Kylix-Beispiel der Quellcode eines einfachen Texteditors, da haben die beim Öffnen die Datei erst in nen Filestream eingelesen, dann 100 Byte weise ins Memeo übertragen und halt immer überprüft ob noch mehr als 100 Byte übrig bleiben und wenn nicht die byte einzeln eingelen [da ist mir schon schlecht geworden gibts da nicht den Standart Memo1.Lines.LoadFromFile('x.txt'); ???])
...
Das haengt ganz von den funktionen und der art der programmierung deines Programmes ab.
Was man prinzipiell beachten sollte ist folgendes:
- Projekte immer als CLX projekt anlegen, nicht VCL
- In der hilfe bei funktionen immer unter CLX schauen
- Finger weg von jeglichen Windows API funktionen (sollte man eh machen )
- Auf die warnings achten beim compilieren, meldungen wie "Warning: Unit Filectrl is platform specific" sind ernstzunehmen
- Moeglichst keine externen programme starten wollen, das gibt unter kylix dann reichlich arbeit da unter linux mit fork's gearbeitet werden muss um Prozesse zu starten. Shellapi ist uebrigens auch Windows API, also finger weg
Wenn man das alles beruecksichtigt ist man schon sehr kompatibel zu kylix, denn was unter CLX mit standard delphi-komponentent laeuft geht auch alles unter kylix. Wichtig ist das auch da bei vcl die forms als dfm format abgelegt werden und einige properties nicht unter kylix vorhanden sind. Fuer Kylix heissen die forms xfm.
Bei einem CLX/Kylix projekt muessen aber sowohl unter windows als auch unter linux die Borland QT library mitgegeben werden.
Unter windows ist das die qtinft.dll (Knapp 4MB). Kann in das selbe verzeichnis wie die exe gepackt werden dann laeuft alles wie gewohnt.
Unter Linux sind das:
"libborqt-6.9.0-qt2.3.so"
"libqtintf-6.9.0-qt2.3.so"
zusammen 8.5 MB
Dazu kommen noch 4 Symbolic Links die ich grad nicht im kopf habe.
Diese muessen irgendwo im LD_LIBRARY_PATH verfuegbar sein.
Am besten packst du die in ein unterverzeichnis zu deiner binary und machst dir dann noch ein Shellscript was die Librarys dynamisch in den PATH eintraegt. Ausserdem solltest du noch die sprache setzen da die QT dialoge und Fenster von den System Locales abhaengig sind.
Hier mal ein kleines Shellscript was die librarys in einem unterverzeichnis namens lxlib vorraussetzt und dann das Programm "HelloWorld" startet.
Ausserdem sollte man gerade im Bereich bildbearbeitung aufpassen, unter kylix funktionieren TBitmap und TPicture zum teil anders. Einige properties gibt es gar nicht, andere dafuer haben andere funktionen. Da muss man sich dann durch die hilfe schlagen. Bilder solltest du generell immer als png benutzen.
die gif und jpg units von windows funktionieren beide nicht unter linux. Da erledigt das alles TPicture und TGraphic weil die formate alle von QT verarbeitet werden.