Re: Interop: Callbacks und Event Raising?
- From: "Thomas Scheidegger [MVP]" <spam.netmaster@xxxxxxxxxxxxxx>
- Date: Fri, 27 May 2005 14:50:06 +0200
> Die DLL ist schon als STDCALL definiert.
was heisst dies? (ich meinte konkret den Callback, nicht die APIs)
Damit Callbacks wirklich per _stdcall arbeiten, muss
- entweder per Compiler-Switch der C++ DLL explizit __stdcall voreingestellt worden sein,
- oder direkt bei der Callback Fn-Definition (im .H) ein __stdcall stehen
(oder irgend eine Ableitung davon, etwa Win32 macros: CALLBACK oder WINAPI o.ä.)
> meist nach dem Prinzip ErstelleHandle, ZerstöreHandle.
> Nun bekommt aber jenes ErstelleHandle die Callback mit.
> Da die Aktion nun im Konstruktor stattfindet, kann man da auch keine
> Events abfangen. Soweit so logisch, schließlich kann ich nicht
> die Ereignisse von etwas überwachen, was es noch gar nicht gibt.
> Nur wie sieht hierzu ein passendes Designpattern aus?
> Zur Zeit habe ich es gelöst, indem ich das Erstellen in eine Initialize
> Methode gepackt habe.
ich würde eher vermuten, es bleibt dir da wohl nicht viel anderes übrig
als eben irgend eine Art Initialize() oder Open() usw.
> Nun muß ich aber jede Methode mit einer Abfrage
> bezüglich eines gültigen Handles beginnen
im Prinzip musst du dies mit dem IDisposable-Pattern sowieso,
es könnte ja jemand auch Dispose() aufgerufen haben
und danach trotzdem noch weiter Methoden aufrufen...
--
Thomas Scheidegger - MVP .NET - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/
.
- References:
- Interop: Callbacks und Event Raising?
- From: Gerald Mahlmeister
- Re: Interop: Callbacks und Event Raising?
- From: Thomas Scheidegger [MVP]
- Re: Interop: Callbacks und Event Raising?
- From: Gerald Mahlmeister
- Interop: Callbacks und Event Raising?
- Prev by Date: Re: Interop: Callbacks und Event Raising?
- Next by Date: Re: Erzwingen von MustInherit von MustInherit?
- Previous by thread: Re: Interop: Callbacks und Event Raising?
- Next by thread: Kommando ausführen
- Index(es):
Relevant Pages
|