2016-07-04 13 views
0

Ich bin wieder gezwungen, ein archaisches vb6-Programm zu aktualisieren, aus Gründen, die mich dazu bringen, mich in den Verkehr zu werfen.Wenn ich Shell Foo.exe von einem VB6-Programm aufrufen und Foo.exe ausflammt, wird mein VB6-Programm auch ausflammen?

Ich habe eine nackte Knochen. NET-Anwendung geschrieben, die unter bestimmten Umständen durch das VB6-Programm geschält werden soll.

Da das. NET-Programm in. NET 4.5.2 ausgeführt wird, und meine VB6 IDE ist auf einem Windows XP-System (töte mich bitte), erwarte ich es (die .Net-Anwendung) prächtig abstürzen, wenn die Das VB6-Programm ruft es auf, um in der Entwicklungsumgebung ausgeführt zu werden.

das ist leider nicht der Fall -, was passiert ist, ich bin ein Laufzeitfehler bekommen sollte 5.

Das ist der Ruf VB6 werden machen -

Shell """" & App.Path & "\Foo.exe""" 

Das ist es. Das betreffende .Net-Programm ist eine lupenreine Anwendung (kein UI, keine Konsole, und so soll es sein), während das VB6-Programm eine GUI hat und mich dazu bringen will, Gelegenheits-Alkoholismus als Hobby anzunehmen.

Das einzige, woran ich denken kann, ist das aufgerufene Programm, das ausflammt, macht VB6 eine Anpassung - ist diese Hypothese korrekt? Wenn nicht, was könnte sonst das Problem sein?

+0

VB6? Nicht .NET? Scheint wirklich spät im Spiel VB6 zu lernen ... –

+0

@AustinFrench Ich weiß .Net. Ich weiß genug über VB6, um mir nicht die Handgelenke und den Hals aufzuschneiden, wenn ich gezwungen bin, diese schrecklichen Legacy-Apps zu unterstützen. Ich versuche nicht VB6 zu lernen. Ich aktualisiere nur dieses dumme Programm gemäß den Spezifikationen des Kunden. – Will

+0

Das sollte kein Problem sein, wenn das .net-Programm eigenständig ausgeführt werden kann. Was macht das .Net-Programm? – dbmitch

Antwort

1

VB6 Shell Befehl wird einen Laufzeitfehler 5 auslösen, wenn es das angegebene Programm nicht starten kann. Wenn dieser Laufzeitfehler nicht behandelt wird, wird Ihr Programm mit einer Standard-VB6-Fehlermeldung für diesen Fehler angehalten. Wie in den Kommentaren erwähnt, kann die .NET EXE des OP unter Windows XP nicht gestartet werden (vielleicht wurde sie für x64 gebaut?), So dass sie diesen Fehler bekommen.

2

.Net 4.5+ wird auf XP nicht unterstützt, daher würde ich nicht erwarten, dass Ihre App funktioniert. In der Tat bin ich mir nicht sicher, wie du überhaupt 4,5 installiert hast. Als ich es versuchte, scheiterte der OS-Check. Ich musste 4.0 als Ziel wählen.

VB6 wird nicht wegen Ihrer .Net App abstürzen, da es nicht der gleiche Prozess ist. Es wird ein Fehler angezeigt, wie Sie sehen, aber Sie behandeln nur das und gehen weiter.