![]() |
Lazarus: Dienst schreiben für Windows und Linux
Hi DPler
Ich würde für ein Projekt gerne Lazarus verwenden da ich damit auch für Linux Programme schreiben kann. In diesem Fall wäre es ein Dienst der auf einem TCP Port und UDP Port hören soll und natürlich auch auf anfragen antworten soll. Dieser Dienst soll auf Windows und auch auf Linux laufen (möglichst auf allen distrubtionen). x64 wäre zwar auch nett aber nicht zwingend erforderlich. So da ich ein fauler Mensch bin :D würd ich es gerne so haben das ich nur auf einen kleinen Menüpunkt drücke "Build all Versions" und er soll mir dann die ganzen ausführbaren Dateien ausspucken: Server Windows x86.exe Server Windows x64.exe Server Linux x86 ... So jetzt meine wirkliche Frage ist dies mit Lazarus möglich einfach zu lösen oder muss ich da mit compiler switches arbeiten. Vorallem wenn ich da ans Dateisystem denk. C:\ findet mein Programm nämlich sicher nicht auf einem Linux System. Wie code ich also solche sachen? Alles relative Pfade? Geht nicht gut da ich z.b. auf einem Windows Server die Config Files in die Anwendungsdaten Ordner legen möchte und auf einem Linux Server in /etc/... Hat vielleicht jemand was ähnliches vor mit Lazarus? |
Re: Lazarus: Dienst schreiben für Windows und Linux
*push*
:duck: |
Re: Lazarus: Dienst schreiben für Windows und Linux
Hallo gsh,
ich arbeite immer häufiger mit Lazarus (insbesondere wegen Linux), habe aber bisher meine Windows / Linux Pfadeinstellungen immer noch händich gemacht. Aber deine Frage bekommst du sicher im ![]() Gruß, Linkat |
Re: Lazarus: Dienst schreiben für Windows und Linux
Meinst du mit händisch Compiler Switches?
|
Re: Lazarus: Dienst schreiben für Windows und Linux
Also ich hab mal ein Programm geschrieben was unter Windows wie auch unter Linux lief.
Einfach eine Compilerswitch setzen z.b. {$ifdef unix} dann geht das ganz einfach. Zu einem Dienst unter Linux. Den gibts es da gar nicht zumin. nicht wie unter Windows du musst ein Programm einfach nur im Dämon Modus laufen lassen z.b. Programm & dann lüft das Prog. im Hintergrund. |
Re: Lazarus: Dienst schreiben für Windows und Linux
Zitat:
Gibt es eigentlich einen "genormten" compiler schalter dafür? alles einen den alle kompos benutzen? |
Re: Lazarus: Dienst schreiben für Windows und Linux
Hallo gsh,
mit händisch meine ich z. B.:
Delphi-Quellcode:
vor dem Compilieren habe ich die entsprechende Zeile auskommentiert. Aber das müsste mit Compilerswitches genauso gehen.
pfad:='C:\ordner1\'; {für Windows}
//pfad:='/home/user/'; {für Linux} Gruß, Linkat |
Re: Lazarus: Dienst schreiben für Windows und Linux
ok danke
eine Frage noch: Wenn ich in Lazarus mir eine neue Anwendung erstell dann fragt er ja welchen typ die Anwendung haben soll. Welchen soll ich da auswählen damit ich einen Dienst/Demon für Windows und Linux rausbekomme? |
Re: Lazarus: Dienst schreiben für Windows und Linux
Ich denke, deine Frage ist im Lazarusforum besser aufgehoben.
Gruß, Linkat |
Re: Lazarus: Dienst schreiben für Windows und Linux
Schau dazu mal ins Lazarus Wiki, da gibts ein paar Seiten dafür wie man plattformunabhängig programmiert.
Den Konfigurationspfad kannst du mit GetConfigDir aus der Fileutils ermitteln, gibt dir auf jedem System den richtigen Pfad zurück. Für die verzeichnisse im allgemeinen gibts auch genug Spielchen wie LineEnding und DirectorySeparator Konstanten. Das bauen kannst du per Batch Datei und lazbuild bzw Schell Script und Lazbuild machen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz