Laden...

[gelöst] Event aus DLL unterdrücken

Erstellt von hakbak vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.029 Views
H
hakbak Themenstarter:in
108 Beiträge seit 2007
vor 16 Jahren
[gelöst] Event aus DLL unterdrücken

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

Gelöschter Account
vor 16 Jahren

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ß.

H
hakbak Themenstarter:in
108 Beiträge seit 2007
vor 16 Jahren

ö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.

Gelöschter Account
vor 16 Jahren

üblicherweise registriert man sich bei events mit += ..... siehe:
[FAQ] Eigenen Event definieren / Information zu Events

915 Beiträge seit 2006
vor 16 Jahren

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(

H
hakbak Themenstarter:in
108 Beiträge seit 2007
vor 16 Jahren

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.

Gelöschter Account
vor 16 Jahren

dann ist es auch noch sehr schlampig implementiert, da nicht mal geprüft wird ob jemand registriert ist....

die dll musst du in jedem fall anpassen.

H
hakbak Themenstarter:in
108 Beiträge seit 2007
vor 16 Jahren

grmpf, naja Danke auf jeden Fall, dann bin ich wenigstens bestätigt worden.

Danke Danke