15. Januar 2010 15:19
Hallo,
In DAX gibt es ja die Möglichkeit einen MessageProc für eine Form zu erstellen.
Das funktioniert im Grunde auch super. Im init der Form geschieht das so:
- Code:
formRun.installMessageProc(#WM_User+100, formRun.hWnd(), "CallbackMethod");
Triggern kann man das dann so:
- Code:
WinApi::postMessage(formRun.hWnd(), #WM_User+100, wParam, lParam);
Und auffangen kann man dan solche Windows Messages mit der Callback Methode auf der Form wo
der MessageProc installiert ist.
- Code:
void CallbackMethod(HWND _hwnd, int _iMessage, int _wParam, int _lParam, int _iPx, int _iPy)
{
;
switch(_iMessage)
{
case #WM_User+10
...
break;
}
}
So das funktioniert tadellos.
Jedoch nur wenn die Form gerade den Focus hat. Ansonsten wird die Windows Message
vom System verschluckt. Meine Fragen lauten also:
*) Kann ich eine Form bzw Thread dazu zwingen die Windows Message Queue auszuführen?
*) Gibt es eine andere Möglichkeit in AX Callback Methoden zu erzeugen?
Hat vll. jemand schon mal was in diese Richtung gehört?
lg
Christian