VB6 .exe auf anderem Rechner nicht lauffähig

T3rmi

Grünschnabel
Hallo zusammen,

ich habe die Tutorials und Topics zur Ausführung von .exe auf anderen Rechner gelesen, aber leider bisher keine Lösung für mein Problem gefunden.

Ich habe hier ein kleines Tool, welches eine XML-Datei ausließt und auswertet. Es wurde von einem Kollegen laut Timestamp 2002 geschrieben und greift auf die DLL msvbvm60.ddl zu, woraus ich schließe, dass es in VB6 programmiert wurde.

Ich habe hier nun zwei Rechner, auf welches das Tool seine Arbeit genz normal erfüllt. Sobald man die .exe mit den anderen .vbp, .vbw und .cls dateien zusammen auf einen anderen Rechner kopiert, funktioniert nicht mehr alles. Es startet zwar noch, allerdings kann es eine wichtige Aufgabe nicht mehr erfüllen (XML-Elemete zählen). Hier kommt immer der Fehler:

Error: 5B
Descr.: Object variable or With block variable not set

Ich habe sämtliche .NET (1.1, 2.0sp2, 3.0sp2, 3.5sp1) Umgebungen installiert und auch VB6SP6 runtime auf den Rechner gespielt...

Hat jemand von euch vielleicht noch eine Idee, wie ich dieses Tool auf anderen rechner zum Laufen bekomme?

Grüße und danke schonmal,

T3rmi
 
Hi.
Ich habe hier ein kleines Tool, welches eine XML-Datei ausließt und auswertet. Es wurde von einem Kollegen laut Timestamp 2002 geschrieben und greift auf die DLL msvbvm60.ddl zu, woraus ich schließe, dass es in VB6 programmiert wurde.
Ja.
Ich habe hier nun zwei Rechner, auf welches das Tool seine Arbeit genz normal erfüllt. Sobald man die .exe mit den anderen .vbp, .vbw und .cls dateien zusammen auf einen anderen Rechner kopiert
Die .vbp vbw und cls Dateien brauchst du nicht kopieren, die sind nur für die Erstellung der .exe notwendig.
funktioniert nicht mehr alles. Es startet zwar noch, allerdings kann es eine wichtige Aufgabe nicht mehr erfüllen (XML-Elemete zählen). Hier kommt immer der Fehler:

Error: 5B
Descr.: Object variable or With block variable not set
Es wird vermutlich eine bestimmte Version der Microsoft XML Bibliothek verwendet, die auf dem Rechner dann nicht vorhanden ist. Aufschluss sollte ein Blick in die Referenzen des VB6 Projektes geben.
Ich habe sämtliche .NET (1.1, 2.0sp2, 3.0sp2, 3.5sp1) Umgebungen installiert
Brauchst du für VB6 nicht.

Gruß
 
Danke für deine Hinweise. Ich hab mal dine die .vbp geschaut und dort ist

..
msxml3.dll #Microsoft XML, v3.0
..

als Reference angegeben. Habe nun MSXML3.0 installiert, bekomme aber immer noch den selben Fehler :(
 
Da Du ja offensichtlich über den Quellcode verfügst, solltest Du mal prüfen, was als Verweise und Komponenten in dem Tool eingebunden ist.

Vermutlich fehlt da noch das eine oder andere Control.

Grüsse
 
Danke für deine Hinweise. Ich hab mal dine die .vbp geschaut und dort ist

..
msxml3.dll #Microsoft XML, v3.0
..

als Reference angegeben. Habe nun MSXML3.0 installiert, bekomme aber immer noch den selben Fehler :(
Weißt du denn in welcher Funktion / an welcher Stelle im Code der Fehler auftritt? Dann mach doch mal ein paar MsgBox Aufrufe rein um die Variablen zu prüfen und festzustellen welche Variable dann nicht gesetzt ist.

Gruß
 
Ja, ich habe den Quellcode, kann diesen aber leider nicht nochmal kompilieren, da eine Datei, welche als Reference angegeben ist, fehlt. Diese Datei ist aber auch auf den Rechnern, auf denen das Tool funktioniert, nicht installiert.

Dadurch, dass ich den Code an nicht neu kompiliert bekomme, kann ich leider auch nicht sehen, bis wohin das Tool läuft :(

Der Code an sich ist ja auch nicht falsch, denn er läuft ja auf zwei anderen Rechnern. Es scheint nur etwas auf den anderen Rechnern zu fehlen, was das Tool benötigt... Habe die MSXML-dlls schon an den funktionierenden Installationen auf meinen Testrechner gespielt, was aber bisher nichts gebracht hat.
 
Das ist schlecht. Welche Referenz ist denn das? Es ist ja durchaus denkbar, dass diese "fehlende Datei" Abhängigkeiten zu anderen hat. Das wird jetzt eine schmutzige Sache, denn dann ist wohl Detektivarbeit erforderlich.

Du könntest mit dem ProcessExplorer von http://www.sysinternals.com nach vollziehen, welche Dateien von dem Programm auf den funktionierenden Rechnern im Zugriff sind. Und dann prüfen, ob diese Dateien alle vorhanden sind.

Wobei vor allem bei ocx-Dateien es natürlich nicht ausreicht, diese nur rüber zu kopieren, diese müssen mit Regsvr32 registriert werden. Ansonsten geht ohnehin gar nichts.
 
Also der Kopf der .vbp sieht so aus:

Code:
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\System32\stdole2.tlb#OLE Automation
Reference=*\G{F5078F18-C551-11D3-89B9-0000F81FE221}#3.0#0#C:\WINDOWS\System32\msxml3.dll#Microsoft XML, v3.0
Reference=*\G{85FE27EC-73AF-4311-825F-45F7C2DAF4A9}#1.0#0#C:\Projects\Hc2000\Server\DataAccess\Tools\Hc2TODatabase\Interface\IHc2TODatabase.tlb#Hc2000 Tools Database Helper Object Interface
Reference=*\G{BBFC4091-1E17-4199-9FCE-7F4F0260C6CC}#1.0#0#C:\Dokumente und Einstellungen\*******\sax4com.dll#sax4com 1.0 Type Library
Object={F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0; COMDLG32.OCX
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX

Von diesen Dateien fehlt mir die IHc2TODatabase.tlb. Im Internet findet man auch nichts zu dieser Datei oder zu den HC 2000 Tools :/

Die beiden OCX-Dateien hab ich nach dem Hinweis von ronaldh entsprechend registriert, was aber leider auch nicht weiter hilft.

Mit dem ProcessExplorer habe ich die Dateien verglichen und alle vom Tool benötigten Dateien sind auf meinen Testrechner installiert.
 
Genau das wars

Ich musste erst alle verwendeten .dll und .ocx Dateien auf dem neuen Rechner registrieren! Jetzt tut das Tool einwandfrei!

Vielen Dank für eure Hilfe und Tipps!!

Gruß
 

Neue Beiträge

Zurück