Also so wurde das über eine fest verknüpfte Message gemacht:
Delphi-Quellcode:
[...schnipp...]
TMeineKlasse = class(TWinControl)
procedure WMAdsDeviceNotification(var Message: TMessage); message WM_ADSDEVICENOTIFICATION; //feste Zuordnung von Methode zur Windows-Message
[...schnipp...]
Procedure NotificationCallback( pAddr:PAmsAddr;
pNotification:PAdsNotificationHeader;
hUser:Longword ); stdcall;
begin
PostMessage( HWND(hUser), WM_ADSDEVICENOTIFICATION, 0, 0);
end;
[...schnipp...]
Die Windows-Message
message WM_ADSDEVICENOTIFICATION
ruft natürlich nur die Methode
procedure WMAdsDeviceNotification(var Message: TMessage)
auf.
Deshalb habe ich das jetzt folgendermaßen geändert:
Delphi-Quellcode:
Procedure NotificationCallback( pAddr:PAmsAddr;
pNotification:PAdsNotificationHeader;
hUser:Longword ); stdcall;
begin
PostMessage(HWND(hUser), lwMessageID , 0, 0);
???.Perform(lwMessageID, 0, 0); //Hier weiß ich nicht weiter
end;
Um diese feste Zuordnung aufzulösen, soll eine eigene Windows-Message, mit der bei der Erzeugung des Objektes übergebenen Message-ID ("lwMessageID") gesendet werden.
Das
PostMessage
ist wohl richtig.
Aber anschließend muss ja noch
WndProc
mit der entsprechenden Message durchlaufen werden.
Das löst man mit
Perform(lwMessageID, 0, 0)
aus, richtig?
Hier weiß ich nicht weiter.