Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   FreePascal OS unterscheiden? Win, Linux oder MacOS? (https://www.delphipraxis.net/182149-os-unterscheiden-win-linux-oder-macos.html)

AlexII 4. Okt 2014 16:10

OS unterscheiden? Win, Linux oder MacOS?
 
Wie macht man das?

Ist es in dieser Art möglich?

Delphi-Quellcode:
if irgendwie then
  ShowMessage('Windows')
else if irgendwie then
  ShowMessage('Linux')
else if irgendwie then
  ShowMessage('MacOS');
P.S. ist für Lazarus gedacht.

Danke!

mkinzler 4. Okt 2014 16:18

AW: OS unterscheiden? Win, Linux oder MacOS?
 
Ein Vollprofi wie Du hat noch nich etwas von "conditional defines" gehört?
http://wiki.freepascal.org/Conditional_compilation/de

AlexII 4. Okt 2014 16:20

AW: OS unterscheiden? Win, Linux oder MacOS?
 
Zitat:

Zitat von mkinzler (Beitrag 1274798)
Ein Vollprofi wie Du hat noch nich etwas von "conditional defines" gehört?
http://wiki.freepascal.org/Conditional_compilation/de

Gehört schon, aber nicht bewusst...

Ich ein Vollprofi? Sowas :roteyes:

himitsu 4. Okt 2014 18:25

AW: OS unterscheiden? Win, Linux oder MacOS?
 
Im Laufzeit-Code sowas zu prüfen ist eh nutzlos, da du die Anwendung eh immer nur für eine Plattform kompilieren kannst und es demnach Verschwendung ist, wenn der Code für Linux und Mac in der Windows-EXE drin steckt, bzw. jeweils andersrum ebenfalls.

Bei unterschiedlichem Code für bestimmte Versionen eines Systems, kann das anders sein.
> entweder muß das zur Laufzeit entschieden werden
> oder z.B. die verwendete API darf nur in das Kompilat für eine bestimmte Plattform (wie z.B. Win98 oder Win10) einkompiliert werden.

Windows 64-Bit-EXE und 32-Bit-EXE ist dabei anzusehen wie Linux und Windows.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 Uhr.

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