Betriebssystem abhängiger Code

Für Fragen von Einsteigern und Programmieranfängern...

Betriebssystem abhängiger Code

Beitragvon DL3AD » 11. Dez 2017, 17:11 Betriebssystem abhängiger Code

Hallo

ich möchte meine Anwendung unter Linux und Windows compilieren mit der Option dass z.B eine Programmzeile
nur unter Windows und eine Andere nur unter Linux im Code compiliert wird.

Code: Alles auswählen
 
  if FileExists('ADLog.exe') then    //soll nur unter Windows compiliert werden
  if FileExists('ADLog') then   //soll nur unter Linux compiliert werden
 


wie kann ich das realisieren ? - Es gibt doch diese Kompileranweisungen in den geschweiften Klammern mit {$...
Geht es damit ? - wenn ja wie ?

Gruß Frank
DL3AD
 
Beiträge: 368
Registriert: 13. Sep 2013, 11:07
Wohnort: Rügen
OS, Lazarus, FPC: Win7 (L 1.8.0 FPC 3.0.4) und Debian Stretch (L 1.8.0 FPC 3.0.4) | 
CPU-Target: 32Bit/64Bit
Nach oben

Beitragvon theo » 11. Dez 2017, 17:19 Re: Betriebssystem abhängiger Code

Würde ich so machen

Code: Alles auswählen
{$IFDEF UNIX}
 const FileName='ADLog';
{$ENDIF}
 
{$IFDEF MSWindows}
 const FileName='ADLog.exe';
{$ENDIF}   
 
....
 
 if FileExists(FileName) then 
 
 
 
theo
 
Beiträge: 8054
Registriert: 11. Sep 2006, 18:01

Beitragvon compmgmt » 11. Dez 2017, 17:27 Re: Betriebssystem abhängiger Code

Und wenn du so etwas an mehreren Stellen brauchst, kannst du es so wie ich machen:
Code: Alles auswählen
const
  exe = {$ifdef mswindows} '.exe' {$else} '' {$endif};
begin
  if FileExists('ADLog' + exe) then ...
  if FileExists('Anderes' + exe) then ...
  if FileExists('Irgendwas' + exe) then ...
end;
usw.
Der Prozesseinstiegspunkt "SignaturLaden" in Signatur.dll konnte nicht gefunden werden.
compmgmt
 
Beiträge: 312
Registriert: 25. Nov 2015, 17:06
Wohnort: in der Nähe von Stuttgart
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4 | 
CPU-Target: i386 + x86_64
Nach oben

Beitragvon DL3AD » 11. Dez 2017, 17:56 Re: Betriebssystem abhängiger Code

Hallo,

vielen Dank euch beiden !
Lazarus mit freepascal is schon ne geile Sache :mrgreen:
DL3AD
 
Beiträge: 368
Registriert: 13. Sep 2013, 11:07
Wohnort: Rügen
OS, Lazarus, FPC: Win7 (L 1.8.0 FPC 3.0.4) und Debian Stretch (L 1.8.0 FPC 3.0.4) | 
CPU-Target: 32Bit/64Bit
Nach oben

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried