Entwickler-Ecke

Windows API - Möchte die WndProc in eine Klasse packen


NeoInDerMATRIX - Di 02.12.03 01:45
Titel: Möchte die WndProc in eine Klasse packen
Hallo,

ich habe folgendes Problem! Ich habe ein Code-Block den ich in eine Klasse packen möchte! Meine Klasse müßte aber auch die WndProc beinhalten! Wenn ich nun folgende Klasse erstelle:
[dephi]
Type
tTest = Class(...)
Private
WndProc ....;
End;
[/delphi]
Nun kann ich die WndProc zwar als solche setzen, und sie wird auch aufgeruffen! Allerdings sind die übergebennen Parameter verschoben!
Gibt es eine möglichkeit das torzdem irgend wie hin zu bekommen!
Ich hoffe ihr könnt mir helfen!

CU
Neo

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.


Delete - Di 02.12.03 05:58

Zeig doch mal deine Implementation und was verstehst du unter "verschoben"?


Motzi - Di 02.12.03 09:57

Logisch, da eine Methode ja immer noch den unsichtbaren Parameter "Self" mitführt..! Such mal nach Suche in: Delphi-Forum, Delphi-Library MAKEOBJECTINSTANCE bzw Suche in: Delphi-Forum, Delphi-Library FREEOBJECTINSTANCE... eine andere Möglichkeit (die ich mal in ein paar C++-Progs gesehen hab) ist die Objekt-Referenz als User-Data für die einzelnen Fenster zu speichern - dann reicht eine globale WndProc die sich per GetWindowLong die Objekt-Referenz holt und dann einfach die WndProc-Methode des entsprechenden Objekts aufruft...