Normaler Weise wird ja vorher (sollte man zumindestens am Anfang machen) via inherited die Vorfahrenklasse eingerichtet, womit also die Grundlagen für ein
Handle gelegt werden. Im Getter von .Handle wird dann über .HandleNeeded geprüft, ob es existiert und wenn nicht, dann wird Eines erstellt.
Das habe ich mit
inherited Create;
auch gemacht. Der Konstruktor wird so eingeleitet
constructor TKlassenName.Create;
Aber dafür muß es aber auch ein
Handle geben.
Also wenn du keines einrichtest/erzeugst, dann muß die Vorfahrenklasse dafür ausgelegt sein ... also es muß irgendwo von TWinControl abgeleitet worden sein.
Wie kann ich das prüfen, bzw. herausfinden?
TForm hat dieses als Vorfahre und darum gibt es dort auch das Property .Handle .
Deine Klasse wurde anscheinend nicht von sowas abgeleitet und darum gibt's da auch kein
Handle (das wurde dir aber auch schon mehrmals gesagt).
Lösung:
- anderer Vorfahre
- oder man besorgt sich das nötige
Handle wo anders (auch dieses wurde dir schon vorgeschlagen)
- oder man erstellt sich extra ein MessageOnlyWindows (und nimmt dessen
Handle), wenn man Messages empfangen muß
- oder man kommt ohne soein
Handle aus
Tut mir leid, dass ich hier anscheinend so dumme Fragen stelle.
Ich verstehe das wahrscheinlich noch nicht.
Kann ich hier irgendwo etwas darüber nachlesen, damit ich konkretere Fragen stellen kann?