Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi wparam bei PostMessage in 64-Bit-Windows (https://www.delphipraxis.net/180087-wparam-bei-postmessage-64-bit-windows.html)

jaenicke 22. Apr 2014 15:17

AW: wparam bei PostMessage in 64-Bit-Windows
 
Ändere testweise vielleicht einfach einmal den Wert von wm_PasswortDialog... Nicht dass du die Nachricht von einer anderen Quelle bekommst.

Kannst du denn mit dem Testprogramm irgendwo das Problem nachstellen?

Sherlock 22. Apr 2014 15:22

AW: wparam bei PostMessage in 64-Bit-Windows
 
Auf einer VM mit Win7 x64 klappts auch wie Du es erwartest...

Sherlock

himitsu 22. Apr 2014 15:36

AW: wparam bei PostMessage in 64-Bit-Windows
 
Wie ist wm_PasswortDialog definiert?

Wenn man dopptelte Messge-IDs verhindern will, also daß man eventuell von irgendwo eine Message mit der selben ID bekommt, dann müsste man mitBei Google suchenRegisterWindowMessage arbeiten.

Dabei kann man dann aber nicht mehr über
Delphi-Quellcode:
procedure ... message wm_xyz;
gehen, da die ID nicht fest ist, und man dort daber eine Konstante benötigt.
Also dann über
Delphi-Quellcode:
procedure WndProc(var Message: TMessage); override;
und
Delphi-Quellcode:
if Message.Msg = wm_xyz then
.

DelphiKlaus 23. Apr 2014 09:45

AW: wparam bei PostMessage in 64-Bit-Windows
 
Hallo,

wm_PasswortDialog ist als wm_User + 1000 definiert. Eine Änderung z.B. in wm_User + 100 ändert nichts an dem Verhalten.

Ich finde das Verhalten des Programms unter 64-Bit-Windows mysteriös. Das Testprogramm funktioniert einwandfrei; aber im eigentlichen Programm wird entweder eine Variable im FormCreate nicht gesetzt oder sie wird wieder überschrieben. Unter 32-Bit-Windows funktioniert der gleiche Exe-File dahingegen einwandfrei.

Da ich das Problem durch eine zusätzliche Abfrage auf das Vorhandensein der Datei in der FormShow-Methode lösen konnte, werde ich dem Ganzen nicht weiter nachgehen und bedanke mich bei allen, die mir mit Tipps und Tests geholfen haben.

Viele Grüße

Klaus

Sherlock 23. Apr 2014 09:49

AW: wparam bei PostMessage in 64-Bit-Windows
 
Ich gehe davon aus, daß in Deinem "Echtprogramm" ein Timing Problem besteht, irgendwas tut halt da mehr als nur ein simples FormShow...

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr.
Seite 2 von 2     12   

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