Ereignis über property System::String ^ auslösen
-
Hallo!
Ich habe eine Klasse geschrieben, in der ein Ereignis definiert ist. Ich will die Fehlermeldungen zentralisiert ausgeben. Dabei wird ein String zu property zugewisen und diese Zuweisung löst gleichzeitig ein Ereignes aus, dann soll dieses String in einem TextBox ausgegeben werden. Das Problem ist das der Compiler versucht beiFehlerEventHandler(this,gcnew EventArgs());
den Objekt EventArgs()in ein IntPtr umzuwandeln, das gelingt aber nicht. Ich verstehe überhaupt nicht warum er diesen Objekt umzuwandel versucht. Hängt es mit Handle Property
property String^ FehlerMeldung {...}
? Kann mir jemand das erklären und Lösung vorschlagen?
ref class FehlerAusgabe { String ^fehler; public: /*EventArgs ^a;*/ delegate void FehlerEventHandler(System::Object ^source, System::EventArgs ^e); private: FehlerEventHandler ^ereignis; public: event FehlerEventHandler ^fe { public: void add(FehlerEventHandler ^d) { ereignis+=d; } protected: void remove(FehlerEventHandler ^d) { ereignis-=d; } private: void raise(Object ^source, EventArgs^ e) { if(ereignis!=nullptr) ereignis(source,e); } } FehlerAusgabe(void): ereignis(nullptr),fehler("") { } property String^ FehlerMeldung { String^ get() { return fehler ; } void set(String ^wert) { fehler = wert; if (fehler != "") { // Ereignis ist eingetreten, Abonnenten informieren if(ereignis!=nullptr) FehlerEventHandler(this,gcnew EventArgs()); fehler=""; } } } };
-
hat sich erledigt