![]() |
Compilerdirective aus C++ in Delphi, wie?
Hallo, der Titel sagt schon alles:wink:
Wie kann ich diese C++ Direktive in Delphi umsetzen?
Code:
Ein Versuch:
#if (_WIN32_WINNT >= 0x0501)
Delphi-Quellcode:
scheitert hier
var
_WIN32_WINNT : WORD = 0; implementation uses SysUtils; procedure InitUnit; var OSVersionInfo: TOSVersionInfo; begin OSVersionInfo.dwOSVersionInfoSize := SizeOf(OSVersionInfo); if GetVersionEx(OSVersionInfo) then _WIN32_WINNT := OSVersionInfo.dwPlatformId; end; initialization InitUnit;
Delphi-Quellcode:
da eine Konstante erwartet wird.
{IF (_WIN32_WINNT >= $0501)}
Was nun? |
AW: Compilerdirective aus C++ in Delphi, wie?
Mit Quellcode garnicht, daß _WIN32_WINNT müsste dafür eine Konstante sein, denn Compilerdirektiven werden vom Compiler ausgewertet.
Du kannst das nicht direkt übersetzen. Due mußt diese Konstante selber setzen, bzw. laß diese Abfrage einfach weg. (kommt aber darauf an, was du willst) Du müßtest diese Konstante selber setzen und entscheidest damit für welche Windows-Versionen dein Programm kompiliert wird. Ider dz nutzt ein "normales" if und entscheidest dann zur Laufzeit, welcher Code genommen wird ... jenachdem, wo das Programm gerade läuft. |
AW: Compilerdirective aus C++ in Delphi, wie?
Danke, ich habe es befürchtet.
Schönes WE. |
AW: Compilerdirective aus C++ in Delphi, wie?
Zum Beispiel:
Delphi-Quellcode:
type _WIN32_WINNT = $0400..$0602;
|
AW: Compilerdirective aus C++ in Delphi, wie?
Sowieso ist es besser zur Laufzeit abzufragen ob bestimmte API-Funktionen die man benützen möchte vorhanden sind oder nicht.
(mit LoadLibrary() und GetProcAdress()) Wenn die API-Funktionen nicht vorhanden sind reduziert sich der Funktionsumfang der Anwendung; es läuft aber trotzdem auch auf älteren Windows Versionen. Manchmal werden ältere Windows Versionen per Service Pack von Microsoft nachgerüstet (kommt leider viel zu selten vor). Würde man nur die Windows Version abfragen und aufgrund dessen entscheiden ob man die gewünschte API benützen kann oder nicht würde man hier falsch reagieren. |
AW: Compilerdirective aus C++ in Delphi, wie?
Zitat:
![]() Zitat:
Im Gegenteil wir werden wieder schnellere neue Windows-Versionen (Windows 8/8.1/8.2) zu Apple-Ähnlichen Preisen finden und die großen SP's wie bei W2K/SP werden (leider) aussterben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:33 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