![]() |
is my delphi App x 64 ???
ich möchte feststellen ob meine App wirlich x64 ist und hierfür den eigenen PE Header zur Programmlaufzeit auslesen, klappt aber nicht da der Zugriff auf die exe zur Programmlaufzeit nicht geht? Was nun ??
var f : TFileStream; begin /// check if PE header is 32 or 64 bit /// ![]() f:=(TFileStream.Create(Application.ExeName,fmOpenR ead)); if Isx64(f) then begin RadioGroupBits.ItemIndex := 1; end else begin RadioGroupBits.ItemIndex := 0; end; f.free |
AW: is my delphi App x 64 ???
Guten Morgen,
Du könntest Dir eine Kopie der laufenden Exe machen und diese testen. Grüße Klaus |
AW: is my delphi App x 64 ???
Zitat:
Z.B.
Delphi-Quellcode:
.
{$IFDEF CPUX64}
|
AW: is my delphi App x 64 ???
Entweder das IFDEF oder man prüft zur Laufzeit die Größe des Datentyp "Pointer". Wenn man fremde EXEn oder DLLs untersuchen will, dann ist z.B. das Microsoft-Werkzeug "FileVer" hilfreich, welches es in den sog. Support-Tools gibt.
|
AW: is my delphi App x 64 ???
Wenn man etwas mehr haben möchte:
![]() Als Anwendung habe ich dann auch schon häufiger den EXE Explorer benutzt: ![]() |
AW: is my delphi App x 64 ???
Hallo,
ich hatte unmittelbar diesselbe Frage nach dem ersten Kompilieren mit XE2. Eine simple Lösung: Taskmanager. Der Taskmanager zeigt 32bit-Prozesse mit *32 an. Bei 64bit-Programmen nicht. |
AW: is my delphi App x 64 ???
Zitat:
Du mußt allerdings die Datei auch mit entsprechenden Sharing-Rechten öffnen ... TFileStream öffnet alle Dateien aber "exklusiv". (daß Borcodero daran immernoch nichts geändert hat, ist voll blöd ... zumindestens fremde Leserechte hätte man inzwischen mal erlauben können) Zitat:
Delphi-Quellcode:
(das sollte in jedem Compiler gehn, welcher diese Conditional Expression unterstützt)
{$IF SizeOf(Pointer) = 8}
... // 64 Bit {$ELSE} ... // vermutlich 32 Bit {$IFEND}
Delphi-Quellcode:
oder man schaut eben, ob es entsprechende Defines gibt, ala CPUX64.
IF SizeOf(Pointer) = 8 THEN BEGIN
... // 64 Bit END ELSE BEGIN ... // vermutlich 32 Bit END; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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