Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Mein Programm läuft nicht unter Windows Vista 64-bit (https://www.delphipraxis.net/74578-mein-programm-laeuft-nicht-unter-windows-vista-64-bit.html)

mael 5. Aug 2006 14:11


Mein Programm läuft nicht unter Windows Vista 64-bit
 
Hallo,

Mein Programm HxD läuft nicht unter Windows Vista 64-Bit.
Diese Meldung habe ich von einem Benutzer bekommen, selber habe ich keinen 64-Bit Prozessor und also auch kein 64-Bit BS.

Er hat folgende Fehlermeldung erhalten:

Zitat:

This version of d:\bin\HxD.exe is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need ax86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.

Kann jemand das bei sich vielleicht testen? Hattet ihr auch schon Probleme mit Delphi-Programmen unter Vista x64?

Ideen?

Danke, Maël.

Bernhard Geyer 5. Aug 2006 19:42

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Benutzt du Low-Level-Funktionen die auf sehr tiefer ebene HD-Zugriffe ermöglichen? (Disk-Editor: RAW reading and writing of disks and drives ...)
Falls ja wird hier der Hund begraben sein. Da ein 64-Bit-OS auch 64-Bit Treiber etc. benötigt wird es nicht möglich sein auf dieser niedrigen Ebene 32-Bit-Programme laufen zu lassen.

mael 5. Aug 2006 19:53

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Zitat:

Zitat von Bernhard Geyer
Benutzt du Low-Level-Funktionen die auf sehr tiefer ebene HD-Zugriffe ermöglichen? (Disk-Editor: RAW reading and writing of disks and drives ...)
Falls ja wird hier der Hund begraben sein. Da ein 64-Bit-OS auch 64-Bit Treiber etc. benötigt wird es nicht möglich sein auf dieser niedrigen Ebene 32-Bit-Programme laufen zu lassen.

Nur unter Windows 9x wird BIOS und Thunking verwendet. Windows NT+ bietet dafür "normale" API-Funktionen an, man greift da nicht direkt auf einen Treiber zu, zumindest auch nicht mehr als beim ganz normalen Lesen von Dateien. Das müßte wie alle anderen API-Funktionen von 32 nach 64 bit übersetzt werden.

Hat einer Vista x64 oder Windows XP x64 der mir vielleicht detailliertere Fehlermeldungen geben könnte?
Sonst könnte ich vielleicht auch ein paar kleine Testprogramme machen (die derjenige/diejenige auf einen x64 System testen könnte) und damit herrausfinden was geht und was nicht.

mael 7. Aug 2006 14:05

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Hat einer Vista oder XP 64-bit?

Daniel 7. Aug 2006 14:09

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja, ich habe hier ein WinXP x64 am werkeln. ;-) Ich kann mir Deine Anwendung mal ansehen.

[edit]
hm. Was soll ich sagen? Geht. ;-) s. Anhang.
[/edit]

himitsu 7. Aug 2006 14:25

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Wenn ich das richtig gesehen hab, dann greifen unter XP64 und Vista64 alle Progamme erstmal auf die 32-Bit-DLL/-Funktionen zu (alle API-Aufrufe werden an die 32-Bit-DLLs umgeleitet), erst wenn dem System (über ein Flag im EXE-Header) gesagt wird, daß dieses in 64-Bit-Programm ist, wird sozusagen auf 64 Bit umgeschaltet, also nicht mehr umgeleitet.

Also was die WinAPI angeht (solange die entsprechende Funktion nicht wieder entfernt wurde, oder sich grundlegend geändert hat), sollte alles ganz normal weiterlaufen.

mael 7. Aug 2006 14:44

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
@Daniel:
Danke schonmal.
Kannst Du vielleicht noch irgendein Laufwerk(Disk-Editor) öffnen? Kann auch USB-Stick sein und schreibgeschützt reicht.

Daniel 7. Aug 2006 14:57

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Zitat:

Zitat von mael
@Daniel:
Danke schonmal.
Kannst Du vielleicht noch irgendein Laufwerk(Disk-Editor) öffnen? Kann auch USB-Stick sein und schreibgeschützt reicht.

Eben Laufwerk 'D' (zweite Partition auf der Festplatte) geöffnet - keine Probleme.

mael 7. Aug 2006 15:05

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Zitat:

Zitat von Daniel
Eben Laufwerk 'D' (zweite Partition auf der Festplatte) geöffnet - keine Probleme.

Danke.

Hmm, da "mein" Benutzer den Fehler unter Vista 64-bit hatte reicht anscheinend Windows XP 64-bit nicht aus um den Fehler zu erzeugen.

Daher:
Hat jemand Vista 64-bit und kann er HxD dort mal starten und prüfen ob er die im ersten Beitrag genannte Fehlermeldung bekommt?

NicoDE 7. Aug 2006 15:20

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
edit: so wie's aussieht, wird die Datei beschädigt, wenn das Archiv mit der integrierten ZIP-Komponente von Vista entpackt wird - der Benutzer sollte mal ein 'richtiges' Archivprogramm verwenden ( http://www.7-Zip.org ).

mael 7. Aug 2006 16:01

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Zitat:

Zitat von NicoDE
edit: so wie's aussieht, wird die Datei beschädigt, wenn das Archiv mit der integrierten ZIP-Komponente von Vista entpackt wird

Nur um sicher zu gehen, daß das der einzige Fehler war: HxD lief also bei Dir unter Vista x64 nach dem Entpacken mit 7-ZIP?

NicoDE 7. Aug 2006 16:14

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Zitat:

Zitat von mael
Nur um sicher zu gehen, daß das der einzige Fehler war: HxD lief also bei Dir unter Vista x64 nach dem Entpacken mit 7-ZIP?

Jupp (die Exe war nur Datenschrott wenn sie von Vista entpackt wurde).

mael 7. Aug 2006 16:19

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Danke, dann war der Fehler ja erfreulich simpel.

himitsu 7. Aug 2006 17:17

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Zitat:

Zitat von mael
Danke, dann war der Fehler ja erfreulich simpel.

erfreulich ist gut ... ich nutze och (gerne) mal die Zipfunktionalität von XP ... da macht sich sowas schon ä bissl blöd :roll:

DGL-luke 7. Aug 2006 17:30

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Naja, Vista rechnet da eben

1. Mit zwei CPUs (falls nur eine da ist, wird nur die Hälfte entpackt)
2. Mit 64bit (Immer ein Int64 auslesen, den Low-Integer zur ersten CPU, den Hi-Integer zur zweiten)
3. Mit .Net ( falls die entpackte exe nicht gegen .Net kompiliert ist, wird sie gleich nochmal durch den Shredder gejagt)

:mrgreen:

Nein, NICHT ernst gemeint!

mael 7. Aug 2006 18:15

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Zitat:

Zitat von himitsu
Zitat:

Zitat von mael
Danke, dann war der Fehler ja erfreulich simpel.

erfreulich ist gut ... ich nutze och (gerne) mal die Zipfunktionalität von XP ... da macht sich sowas schon ä bissl blöd :roll:

Erfreulich da ich nicht nach was obskuren suchen und auch nichts ändern muß.

Vista ist ja noch Beta, wenn der Bug gemeldet wird besteht eine Chance, daß er noch korrigiert wird, oder hat XP die gleichen Probleme mit ZIPs?

Daniel 7. Aug 2006 18:16

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Also ein Entpacker ist ja jetzt nicht so die Welt ... das werden sie in Redmond ja wohl noch hinbekommen. ;-)

Daniel G 7. Aug 2006 18:18

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Zitat:

Zitat von mael
oder hat XP die gleichen Probleme mit ZIPs?

Nö, bei XP lüppt dat und bei Vista sind Hopfen und Malz ja noch nicht verloren...

himitsu 8. Aug 2006 12:53

Re: Mein Programm läuft nicht unter Windows Vista 64-bit
 
Stümmt nicht ganz ... mit einigen ZIPs hatte XP och schon Probleme ... XP kennt halt nich alle Formate und anstatt das zuzugeben tut der halt so, als wenn es funktioniert -.-''


Alle Zeitangaben in WEZ +1. Es ist jetzt 13: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