Pointer auf Handel
-
Ich hab folgendes Problem:
Ich lege in meinem Programm irgendwann mit gcnew ein CLI Objekt an, in meinem Message Handler müsste ich jetzt auf diese Objekt zugreifen.Mit normalen Objekten mach ich das so das ich dann einen globalen Pointer auf das Objekt habe. Das gelinkt mir mit dem CLI Objekt nicht....
Wie kann man sowas machen?mfg
-
Ich verstehe dein Problem nicht wirklich. Wieso nimmst du nicht einfach ein statisches Handle in einer ref class, oder, wenn du ganz krass sein willst, einen Pointer auf ein Handle (wie dein Name bereits dezent andeuten will)
public ref class foo abstract sealed { public: static Object ^bar; };
Oder die zweite, und ganz besonders krasse Variante:
Object ^*bar;
Verwendung wie folgt:
// Einen Zeiger auf existierendes Handle zuweisen: bar = &irgendwas; // Einen neuen Zeiger auf ein neues Handle zuweisen: // Bitte nicht vergessen, per delete den Speicher für das Handle zu freen. bar = new (Object ^); *bar = gcnew Object;
Btw, hab ich erwähnt, dass die zweite Variante im Normalfall schwachsinnig ist? Ups
MfG
-
Wenn Du eine "unmanaged-Klasse" hast, dann kannst Du auf die managed-Klasse via "gcroot"-Template zugreifen.
-