9.4 Lösen nicht vorhandene Verweise einen Fehler aus?
VB5-VB6
Von: Thorsten Dörfler
Nein, ein Verweis unter Projekt => Verweise ist erst einmal nichts weiter als eine Hilfe für die IDE, wo diese ihre Schnittstellenbeschreibungen findet. Es findet zur Laufzeit kein Check der Runtime statt, ob auch alle Verweise auf dem Zielrechner vorhanden sind.
Kann eine Objektvariable einen Fehler auslösen?
Nein, die Deklaration einer Variablen allein löst keinen Fehler aus, wenn das sich dahinter verbergende Objekt auf dem Zielrechner nicht vorhanden ist.
Dim lObj As Library.Component
Weist VB lediglich an, einen Speicherplatz für eine Objektreferenz zu reservieren, die ein Objekt mit der
Interface ID von Library.Component
erwartet. Alle bis hierher benötigten Informationen sind bereits in der Anwendung selber enthalten.
Ein Fehler wird erst ausgelöst, wenn Sie diese Variable verwenden möchten. Greifen Sie auf die Variable zu, bekommen Du zunächst einen Fehler 91 -Objektvariable oder With-Blockvariable nicht festgelegt-, da Sie noch keinen Objekt Verweis enthält. Erst wenn Sie versuchen das Objekt zu instantiieren:
Set lObj = New Library.Component
erhalten Sie den Fehler 429 -Objekterstellung durch ActiveX-Komponente nicht möglich-, sofern diese Komponente auf dem Zielrechner nicht installiert ist.
Fazit
Sofern auf dem Zielrechner eine VB-Anwendung
lauffähig ist, sprich die VB-Runtime installiert ist und Sub Main
ausgeführt werden kann, können Sie innerhalb Ihrer Anwendung alle auftretenden Fehler abfangen. Auch Komponentenfehler. In dem Fall von Objekt Verweisen, die Sie per Code instantiieren müssen, können Sie sogar ziemlich genau sagen, welcher Objekt Verweis involviert ist und ggf. eine eindeutige Meldung ausgeben oder den Fehler entsprechend protokollieren.