Err.Number 2147418107 Automatisierungsfehler

17/07/2011 - 16:02 von Heinz-Mario Frühbeis | Report spam
Hallo!

In Deklaration:
Private mClassEx as Object
In Public Sub Init(nExClass As Object):
Set mClassEx = nExClass ' Dies geschieht *bevor* CreateWindows
aufgerufen wird
In WindowMessage:
Case WM_PAINT
mClassEx.Paint()
' Hier tritt der Fehler genau *einmal* auf. In der Sub von mClassEx ist
derzeit noch kein Code.
' Ich kann aber nicht genau sagen, wann. Jedenfalls beim ersten Male
wenn Case WM_PAINT eintritt (dazwischen ' kommen ja noch andere
Messages).

Wie genau kommt eigentlich dieser Fehler zu stande (von COM her gesehen!)?
Wie kann man diesen Fehler abfangen (*kein* On Error Goto ...!)?
Gibt es dazu eine Abfrage (wie z. Bsp. bei Object: If Object Is Nothing
Then)?

Im Internet habe ich nicht viel finden können, was eine Fehlerbehandlung,
außer On Error Resume Next, beinhaltet.
Und On Error Resume Next will ich nur ganz zum Einschluß eintragen, nach dem
ich weiß, das wenn meine Anwendung mal abratzen sollte, irgendein, (sehr
wahrscheinlich) nicht durch mein Programm entstandener, Fehler dafür
verantworlich ist.

Ich hoffe auf Interesse und Antwwort und
mit Gruß
Heinz-Mario Frühbeis
 

Lesen sie die antworten

#1 Armin Zingler
17/07/2011 - 17:22 | Warnen spam
Am 17.07.2011 16:02, schrieb Heinz-Mario Frühbeis:
Wie genau kommt eigentlich dieser Fehler zu stande (von COM her gesehen!)?
Wie kann man diesen Fehler abfangen (*kein* On Error Goto ...!)?
Gibt es dazu eine Abfrage (wie z. Bsp. bei Object: If Object Is Nothing
Then)?



Wird vermutlich -2147418107 (mit minus) sein, also 0x80010005. Siehe:
http://msdn.microsoft.com/en-us/library/dd542645(VS.85).aspx

Dementsprechend: "It is illegal to call out while inside message filter."

Hier findest du eine Erklàrung: (letzter Beitrag, zweiter Absatz)
http://stackoverflow.com/questions/...s-with-sta

Da du keine Fehlerbehandlung machen willst müsstest du also die Ursche beheben.

Armin

Ähnliche fragen