![]() |
unklare Definition von Compilerschalter
Hallo,
ich hab in einer Komponente folgenden Code:
Delphi-Quellcode:
Auf was bezieht sich das WIN32? - auf das installierte Windows (bei mir 64 bit) oder auf Installation von Delphi (XE2 scheint ja 32 bit zu sein)
{$ifdef LINUX}
//irgend ein Code {$endif} {$ifdef WIN32} //irgend ein Code {$endif} |
AW: unklare Definition von Compilerschalter
IMMER auf den Compiler, also das Ziel, für welches er kompiliert.
Auf aktive Dinge kann man nachträglich (nach dem Kompilieren) natürlich nicht prüfen, also wie z.B. das akuelle Windows, wo das Programm läuft. |
AW: unklare Definition von Compilerschalter
Zitat:
|
AW: unklare Definition von Compilerschalter
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
so richtig durchblicken tu ich mit diesen Compiler-Schalter nicht Ich hab folgendes Problem: Wie auf dem Bild zu sehen ist, ist zwar 32-Bit Windows aktiviert, im Code läuft er aber immer in den Linux-Teil hinein (wenn ich mich durchstep). Wie kann das sein? - Kann man das noch irgendwo einrichten? Nebenbei bemerkt: Der Code stammt aus einer Komponente (libnodave) und wurde in ein Package installiert, das aber 32-bit Windows ist |
AW: unklare Definition von Compilerschalter
Die LINUX Direktive stammt noch aus Kylix Zeiten, soweit ich weiß und wird aktuell gar nicht gesetzt.
Daher glaube ich eher, dass dort in der Komponente irgendwo ein IFDEF nicht richtig zieht und das möglicherweise anschaltet. |
AW: unklare Definition von Compilerschalter
Angeblich soll es "bald" wieder Linux geben, aber egal.
Was steht denn in Projektoption > Delphi-Compiler > Bedingungen, denn einige Defines werden dort definiert, wie z.B. das DEBUG. Und hast du im Code mal nach
Delphi-Quellcode:
gesucht?
{$DEFINE
|
AW: unklare Definition von Compilerschalter
Zitat:
Zitat:
|
AW: unklare Definition von Compilerschalter
Beim Debuggen sind die blauen Punkte (welche du
![]() Es könnte zwar auch ein Bug im Delphi sein, aber das wäre Anderen doch auch aufgefallen? :gruebel: Eigentlich sollten diese DEFINEs nur vom Compiler gesetzt werden, aber im Grunde kann die jeder beliebig ändern.
Delphi-Quellcode:
in deine Projektoptionen oder als DEFINEs in alle deine Units und du kompilierst ein Programm, welches überall läuft. :stupid:
DEBUG;CONSOLE;MSWINDOWS;WIN32;WIN64;MACOS;MACOS32;IOS;ANDROID;LINUX;LINUX32;POSIX;POSIX32;EUREKALOG;EUREKALOG_VER6
|
AW: unklare Definition von Compilerschalter
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ja - es liegt im Linux-Define (siehe Bild) |
AW: unklare Definition von Compilerschalter
Mir fällt grade ein: Selbst wenn Linux irgendwo "ausversehn" mit gesetzt/definiert wird, dann müsste doch WIN32 dennoch/auch definiert sein. :gruebel:
.dproj löschen und neu erstellen lassen? bzw. mal in der .dproj mal nach LINUX suchen. (im Notepad öffnen) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 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