Gast
2006-07-21, 21:12:46
Hi Leute,
Ich möchte unter Delphi die Funktion SendMessage benutzen, um das Programmfenster zu veranlassen, einen Wert auszugeben, der dazu als wParam oder lParam gesendet wird. Wäre der Wert vom Typ Integer, wäre das ganz einfach:
SendMessage(Form1.Handle, WM_USER_DISPLAY_VALUE, Value, 0);
Er ist jedoch vom Typ double, kann also nicht ohne Informationsverlust nach Integer konvertiert werden. Daher war meine Idee, statt dem Wert seine Adresse zu übergeben:
SendMessage(Form1.Handle, WM_USER_DISPLAY_VALUE, @Value, 0);
das aber akzeptiert Delphi nicht, da Pointer und Integer inkompatibel sind. Da würde ich gerne wissen, ob es da vielleicht eine Funktion zum Konvertieren gibt?
Das umgekehrte geht ja: die Funktion Ptr() wandelt eine in Integer-Form angegebene Adresse in einen Pointer um.
Ich möchte unter Delphi die Funktion SendMessage benutzen, um das Programmfenster zu veranlassen, einen Wert auszugeben, der dazu als wParam oder lParam gesendet wird. Wäre der Wert vom Typ Integer, wäre das ganz einfach:
SendMessage(Form1.Handle, WM_USER_DISPLAY_VALUE, Value, 0);
Er ist jedoch vom Typ double, kann also nicht ohne Informationsverlust nach Integer konvertiert werden. Daher war meine Idee, statt dem Wert seine Adresse zu übergeben:
SendMessage(Form1.Handle, WM_USER_DISPLAY_VALUE, @Value, 0);
das aber akzeptiert Delphi nicht, da Pointer und Integer inkompatibel sind. Da würde ich gerne wissen, ob es da vielleicht eine Funktion zum Konvertieren gibt?
Das umgekehrte geht ja: die Funktion Ptr() wandelt eine in Integer-Form angegebene Adresse in einen Pointer um.