Err.Raise in Klassenmodul ('kein Abonnent')

26/06/2008 - 16:22 von Josef Morlo | Report spam
Hallo allerseits

kann mir jemand etwas Nachhilfe geben?

Ausgangssituation:
Ich bin beim Entwickeln einer ActiveX-DLL. Ich erstelle von außen eine
Instanz eines Klassenmoduls in der DLL, das seinerseits wieder eine modale
Form instanziiert. Ich versuche nun einen Fehler, der in der Form entstehen
kann, an das aufrufende Klassenmodul durchzureichen:

...

Errorhandler:
Select Case Err.Number
case ERROR_ACTIONCANCELED 'Definierter Fehler
Err.Raise ERROR_ACTIONCANCELED ' Fehler 'Ereignis konnte keinen
Abonnenten aufrufen'
...

obwohl in der aufrufenden Prozedur im Klassenmodul der Fehler mit

...
Errorhandler:
Select Case Err.Number
case ERROR_ACTIONCANCELED
'Reagiere auf den Fehler
...

aufgefangen werden sollte (!?).

Woran kann's liegen? Und wenn denn der Ansatz falsch sein sollte, wie
müsste man es korrekt anstellen?

Danke und Grüße

Josef Morlo
 

Lesen sie die antworten

#1 Thorsten Doerfler
26/06/2008 - 18:11 | Warnen spam
Josef Morlo schrieb:
Ausgangssituation:
Ich bin beim Entwickeln einer ActiveX-DLL. Ich erstelle von außen eine
Instanz eines Klassenmoduls in der DLL, das seinerseits wieder eine modale
Form instanziiert. Ich versuche nun einen Fehler, der in der Form entstehen
kann



In welcher Form kann dieser Fehler auftreten?

an das aufrufende Klassenmodul durchzureichen:

...

Errorhandler:
Select Case Err.Number
case ERROR_ACTIONCANCELED 'Definierter Fehler
Err.Raise ERROR_ACTIONCANCELED ' Fehler 'Ereignis konnte keinen
Abonnenten aufrufen'
...

obwohl in der aufrufenden Prozedur im Klassenmodul der Fehler mit

...
Errorhandler:
Select Case Err.Number
case ERROR_ACTIONCANCELED
'Reagiere auf den Fehler
...

aufgefangen werden sollte (!?).



Fehlerbehandlungsoption => In Klassenmodul unterbrechen? Dann stoppt
der Debugger beim Err.Raise. Bei "unbehandelten Fehlern" wàre dann das
Verhalten, das die kompilierte Anwendung hat. Aber das funktioniert
generell bei Formularen nur bedingt. Wenn der Fehler in einem vom
Benutzer ausgelösten Ereignis auftritt, ist die Fehlerbehandlung der
aufrufenden Methode dafür nicht zustàndig.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen