Kylix/Linux <> Delphi/Windows

  • Tach zusammen....
    hat jemand von euch Erfahrungen mit Kylix unter Linux? Das ganze soll ja irgendwie sehr nahe am Delphi sein.
    Mich würde interessieren, ob man Delphi-Projekte (die unter Windows entwickelt wurden) relativ einfach nach Linux portieren kann, wenn man dort Kylix einsetzt. Das bezieht sich natürlich (leider) auch auf API-Zugriffe unad Interaktion mit anderer Software auf dem System. Es geht darum, eine Software zu entwickeln, die sowohl auf einem Windows-System als auch auf einem Linux-System läuft. Kylix/Delphi ist mir deshlab sympathisch, weil ich aus der Pascal-Ecke komme und mit Delphi schon mal gespielt habe. C++ ist mir zu kryptisch und Java wohl ehr wenig geeignet, wenn es um interaktive Programme mit ansprechender Oberfläche geht...
    Kennt sich da wer aus?


    d@niel

  • Hmm ... ganz so einfach ist es leider nicht, sobald du CLX benutzt (eine Art MFC für Delphi/Kylix/Borland C++ - also eine Librarysammlung die einen Großteil der jeweiligen API-Zugriffe kapselt) bist du schon einmal ganz gut im Rennen - normale Delphi-Windowsapplikationen mußt du nach CLX portieren um sie mit Kylix auch unter Linux zu kompilieren - selbst dann ist aber oft noch jede Menge Anpassungsarbeit nötig da die Systeme Windows <-> Linux doch arg verschieden sind... Theoretisch und teilweise auch praktisch ist es auf jeden Fall möglich!! Man sollte allerdings von vornherein CLX benutzen wenn man beabsichtigt unter Delphi auch Linuxprogramme zu entwickeln - dann ist der Portierungsaufwand gering!

    -> Tristan @ Work <-
    --

  • sorry... was ist CLX/MFC?
    Bin bisher nur eingefleischter VB-Nutzer und weitab jeder "ernstzunehmenden" Programmierumgebung ;) ;) Muss mich aber demnächst wohl mit solchen Kram befassen....


    d@niel

  • Ich kenne Kylix garnicht und von Delphi nicht viel, aber es wird doch auch für Linux richtige Delphicompiler geben, damit du am Quelltext nichts aendern musst.

  • Anja...


    Nein leider nicht, da ja ein Windows-Programm auf die Windows-API (Fenster darstellen, Dateizugriff etc.) angewiesen ist und diese steht unter Linux nicht zur Verfügung - man muß also eine eine Zwischenschicht benutzen die unter dem entsprechenden Betriebssystem die API-Funktionen gewissermaßen umsetzt ... die MFC (Microsoft Foundation Classes) ist so eine Schicht und nimmt dem Windows-Programmierer jede Menge Arbeit ab - die CLX ist ebenfalls eine solche Schicht nur das sie eben für Linux UND Windows existiert ...

    -> Tristan @ Work <-
    --

  • Zitat

    Original geschrieben von d@niel
    sorry... was ist CLX/MFC?
    Bin bisher nur eingefleischter VB-Nutzer und weitab jeder "ernstzunehmenden" Programmierumgebung ;) ;)


    Mit VB wirst Du wohl MFC benutzt haben (wenn auch wahrscheinlich stark vereinfacht).


    Zitat


    Muss mich aber demnächst wohl mit solchen Kram befassen....


    Delphi liegt die ganze MFC und natürlich auch CLX Hilfe bei. Da ist jede Funktion genau aufgeführt und erklärt, ist also eigentlich nicht so anspruchsvoll! Und für vieles musst Du Dich erstmal gar nicht kümmern, was hinter den Kullisen genau passiert


    Gruss
    jaBernet

  • Zitat

    Original geschrieben von McTristan
      Anja...


    Nein leider nicht, da ja ein Windows-Programm auf die Windows-API (Fenster darstellen, Dateizugriff etc.) angewiesen ist und diese steht unter Linux nicht zur Verfügung - man muß also eine eine Zwischenschicht benutzen die unter dem entsprechenden Betriebssystem die API-Funktionen gewissermaßen umsetzt ... die MFC (Microsoft Foundation Classes) ist so eine Schicht und nimmt dem Windows-Programmierer jede Menge Arbeit ab - die CLX ist ebenfalls eine solche Schicht nur das sie eben für Linux UND Windows existiert ...

    Wenn das so ist. Aber Delphi funktioniert doch auf dem Mac auch noch unter OS X, und das ist eh nur ein NetBSD mit Aqua. Kenn man den Compiler nicht einfach für andere Unix umcompilen?

  • Du darfst 2 Sachen nicht verwechseln - die Programmiersprache mit der du Programmierst (sozusagen der Sprachdialekt), in diesem Fall Pascal bzw. Delphi und die Platform auf der du programmierst ... es gibt für so ziemlich jede Platform mehrere verschiedene Programmiersprachen deren Syntax sich ähneln, nur wird halt in der Windows-Implementation der Programmiersprache die Windows-API mehr oder weniger direkt angesprochen, in der UNIX oder Linux-Version die entsprechende UNIX- bzw. Linux-API - vom Aufbau der Sourcecodedatei unterscheiden sich die beiden Versionen sicher kaum - wohl aber in den Befehlen die dort Verwendung finden. Diesen Unterschied gibt es (wenn sicher auch nicht ganz so stark) auch zwischen den verschiedenen Unix bzw. Linuxversionen - einfach neu übersetzen kannst du das Programm auf der jeweiligen Platform also nicht - dafür wurden ja spezielle Programmiersprachen und Ausführungsumgebungen wie JAVA von Sun bzw. das .NET-Framework von Microsoft eingeführt - die in dieser Umgebung erstellten Programme basieren auf einem speziellen Format, welches die Ausführungsumgebung zur Laufzeit auf das Zielformat (Windows, Unix, etc.) umwandelt...


    Also fassen wir zusammen:


    Delphi für Windows != Delphi für Linux


    Kylix für Windows != Kylix für Linux aber bei Verwendung der CLX-Klassen (Fensterdarstellung,Dateioperationen etc.) wesentlich einfacher zu portieren


    JAVA == JAVA - wobei es hier nur relativ wenige Unterschiede zu beachten gibt (JAVA for MobileDevices etc. mal nicht betrachtet)


    .NET == ??? - gibt es im Moment nur (vollständig) unter Windows (und Windows CE) - mal schauen was die Zukunft bringt

    -> Tristan @ Work <-
    --

  • Delphi gibt´s für den Mac? Wirklich? .... *staun*


    Im Moment scheitert die ganze Übung ehr daran, dass ich das Linux nicht zum fliegen kriege. Aber dazu gibt´s schon einen Thread unter "Software".
    Vielleicht sollte man doch beim guten(?), alten Windows bleiben? ;)


    d@niel

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!