Hallo,
ich habe eine DLL bekommen, mit der ich auf einer Website arbeiten soll. Nur leider stammt eben diese DLL aus einem anderen Projekt, in welchem sie Events "produziert" und in einer Textbox oder sowas ausgibt. Im Code schaut das folgendermaßen aus:
if (l_WriteEventToCaller)
XMLCreateEvent("XML-File - SW_Collection - finished");
Da ich aber keine Box o.ä. verwendern möchte und auch nichts mit diesen Ausgaben anfangen möchte, würde ich gern unterdrücken, dass diese Events "stattfinden". Die Variable
l_WriteEventToCaller
wird irgendwann, irgendwo im Code auf true bzw. false gesetzt.
Ich soll/darf/möchte den Code jetzt echt ungern auf diese Events untersuchen und "rausstreichen". Gibts da irgendwie ne Möglichkeit??
Danke schonmal
wo liegt das problem? registriere dich einfach nciht an das event und sie werden nicht gefeuert, da der dazugehörige multicastdelegat sowieso null ist. außerdem ist es doch egal ob events feuern oder nciht. wenn du nicht registriert bist, dann sollte es dich nciht betreffen, es sei denn jemand hat den groben fehler gemacht, innerhalb dieser dll messageboxen aufzurufen. in dem fall ist es ein architekturfehler den du bereinigen solltest -> viel spaß.
öhm, mal ne ganz doofe Frage wie und wo und überhaupt kann ich mich registrieren; ich hab einach die DLL per "Add Reference" hinzugefügt. Und bis dahin hat auch immer alles gut geklappt.
üblicherweise registriert man sich bei events mit += ..... siehe:
[FAQ] Eigenen Event definieren / Information zu Events
Der Aufruf "XMLCreateEvent" kann zum beispiel genau das bewirken, intern in der DLL selbst. So kannst dir z.B. diesen Aufruf spaaren, wenn der Aufruf allerdings noch etwas anderes bezweckt, tjoar dann wie JAck30lena schrieb musst entweder das in der DLL selbst behoben werden, oder du musst dir was einfallen lassen.
Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(
Also ich verstehs immernoch net richtig.
Ich starte das Event nicht von mir aus, es wird definitiv in der DLL gestartet, dieses Event sorgt dafür, dass ein string irgendwo hingeschrieben wird (fragt mich nicht wohin, ich weiss es nicht)
Wenn ich nun mein Projekt debugge, komme ich an die Stelle, an der das Event geworfe wird und ich bekomm folgende Exception:
Der Objektverweis wurde nicht auf eine Objektinstanz festegelegt Batz und abgebrochen.
grmpf, naja Danke auf jeden Fall, dann bin ich wenigstens bestätigt worden.
Danke Danke