Hi,
Beim erstellen einer Klasse versuche ich Self an das Fenster zu heften.
Delphi-Quellcode:
var hg: HGLOBAL;
dat: Pointer;
begin
hg := GlobalAlloc(GPTR,SizeOf(Self));
dat := GlobalLock(hg);
CopyMemory(dat,Self,SizeOf(Self));
GlobalUnlock(hg);
SetProp(FHandle,MakeIntAtom(SelfAtom),hg);
end;
So ungefähr sieht das ganze aus. In einer Procedure (keine Methode dieser Klasse) versuch ich auf Self so zuzugreifen:
Delphi-Quellcode:
function WndProcDispatch(wnd: HWND; Msg: UINT; lp: LPARAM; wp: WPARAM): LResult; stdcall;
var Self: TNVCLForm;
begin
Integer(Self) := GetProp(wnd,MakeIntAtom(SelfAtom));
// Weitere Operationen mit Self
// ..
end;
Also GetProp liefert mir was zurück.. Damit kann ich auch mehr oder weniger arbeiten. Aber eher weniger. Ich kann Methoden von Self aufrufen aber innerhalb dieser Methoden ist Self dann totaler Unsinn. Wahrscheinlich schon vorher... Aber Methoden aufrufen geht irgendwie...
Ich schätze ich mache irgendwas falsch beim Setzen der Property.
Wäre froh wenn sich das jemand mal angucken könnte
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."