Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Lazarus: Dienst schreiben für Windows und Linux (https://www.delphipraxis.net/118273-lazarus-dienst-schreiben-fuer-windows-und-linux.html)

gsh 4. Aug 2008 12:15


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?

gsh 5. Aug 2008 14:03

Re: Lazarus: Dienst schreiben für Windows und Linux
 
*push*
:duck:

Linkat 5. Aug 2008 14:40

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 Lazarus-Forum beantwortet.

Gruß, Linkat

gsh 5. Aug 2008 16:23

Re: Lazarus: Dienst schreiben für Windows und Linux
 
Meinst du mit händisch Compiler Switches?

franktron 5. Aug 2008 16:44

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.

gsh 5. Aug 2008 19:15

Re: Lazarus: Dienst schreiben für Windows und Linux
 
Zitat:

Zitat von franktron
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.

naja so in windows ist es auch eigentlich ein normalles Programm das im Hintergrund läuft es ... es muss nur auf die steuerbefehle von windows reagieren können


Gibt es eigentlich einen "genormten" compiler schalter dafür? alles einen den alle kompos benutzen?

Linkat 6. Aug 2008 06:25

Re: Lazarus: Dienst schreiben für Windows und Linux
 
Hallo gsh,
mit händisch meine ich z. B.:
Delphi-Quellcode:
pfad:='C:\ordner1\'; {für Windows}
//pfad:='/home/user/'; {für Linux}
vor dem Compilieren habe ich die entsprechende Zeile auskommentiert. Aber das müsste mit Compilerswitches genauso gehen.

Gruß, Linkat

gsh 6. Aug 2008 07:13

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?

Linkat 6. Aug 2008 08:18

Re: Lazarus: Dienst schreiben für Windows und Linux
 
Ich denke, deine Frage ist im Lazarusforum besser aufgehoben.

Gruß, Linkat

christian_u 6. Aug 2008 10:53

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 17:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz