Hallo Assarbad,
nein ich habe den Pointer nicht vorher mit SetProp gesetzt.
Ich glaube ich habe den Befehl ein wenig mißverstanden. Ich dachte mit GetProp kann ich bereits existiende Propertys auslesen bzw. mit SetProp umleiten. Da der Programmierer der meine Komponente benutzt nicht weiter mit deren interna beläßtigt werden soll bzw. es wahrscheinlich auch schnell mal vergißt die OnCreate zu schreiben, nützen mir diese beiden Befehle glaube ich nicht unbedingt etwas.
Mein eigentliches Problem ist, ich habe mir in Windows neue Messages Definiert, welche von einem Programm an ein anderes geschickt werden sollen. Es wird bei beiden Programmen meine Komponente benutzt. Nun mußten wir feststellen, daß die ganze Sache zwar ganz Prima funktioniert, aber nur solange das Formular der "Clientanwendung" aktiv ist, auf welchem meine Komponente liegt. Sobald ein anderes Formular der "Clientanwendung" aktiv wird, kommen die Messages nicht mehr an. Meine Idee war jetzt, alle Fenster (welche zum Teil auch nur für kurze Zeit dynamisch zur Laufzeit erstellt werden) in meiner Komponente zu registrieren und die WNDProc auf eine Prozedur umzuleiten, welche selbstverständlich die original WNDProc (nicht inherited) am Ende aufruft. Dazu habe ich mir eine Klasse geschrieben, welche den Zeiger auf die Original WNDProc, eine Refferenz auf das Formular und einige andere Sachen kapselt und diese Objekte in ein TListobjekt einträgt. Um Formulare, welche dynamisch erzeugt werden zu "fangen"eignet sich das Abfangen der Message WM_Activate welche auch immer in einem Formular aufgerufen wird welches bereits registriert ist. Um mein Object, welches ich in der TList speichern will zu füllen brauche ich nun aber die Refferenz auf das Form, bekomme aber leider nur dessen
Handle. Hast du / habt ihr vielleicht noch eine Idee, wie man das weniger umständlich als wie von mir oben in meinem Quelltext angegeben lösen kann.
Grüße und ein schönes Wochenende
Daniel