lesen this article die beschreibt, wie ein ActiveX-exe debuggen
Grundsätzlich Sie das ActiveX-exe ausgeführt werden soll, dann einen Verweis auf sie in der rufenden Anwendung hinzuzufügen. Lassen Sie die ActiveX-Exe laufen, weil der Verweis auf den laufenden Prozess ist, nicht auf die kompilierte Exe. Führen Sie jetzt die aufrufende Anwendung aus. Dies ermöglicht es Ihnen, auf Haltepunkten in separaten Instanzen von Visual Studio zu stoppen.
Es ist eine Weile her, aber ich wollte sicherstellen, dass ich es selbst machen kann, und ich kann bestätigen, dass es funktioniert. Also hier ist es:
Machen Sie ein neues Projekt namens Project1. Es wird die ActiveX-EXE-
sind Sie sollten eine Datei Class1 genannt haben, in dem Sie diesen Code setzen werden:
Option Explicit
Public Function Foo()
MsgBox "foo"
End Function
nun ein weiteres Projekt machen genannt Projekt2. Dies ist ein Standard-
starten Projekt1. Diese Eingabeaufforderung fragt ab, was beim Start des Projekts zu tun ist. Wählen Sie "Warten auf zu erstellende Komponenten". Klicken Sie auf OK und lassen Sie es laufen.
zu Projekt2 gehen, Projekt-Menü >> Referenzen. Suchen Sie Project1 in der Liste. Aktivieren Sie das Kontrollkästchen. (Sie sehen nicht die Datei-System zu Project1 an diesem Punkt, verwenden Sie einfach die temporäre binäre in der zur Verfügung stehenden Referenzliste!)
nun diesen Code in Project2.Form1 eingeben
Option Explicit
Private Sub Form_Load()
Dim p As New Project1.Class1
p.Foo
End Sub
Sie können einen Haltepunkt in Project1.Class1.Foo() in der msgbox-Zeile einfügen. Dieser Haltepunkt wird getroffen, wenn Sie Project2 ausführen.
Der von Ihnen hinzugefügte Verweis wird ausschließlich zum Debuggen verwendet. Wenn Sie Ihre Anwendung bereitstellen, sollten Sie die ActiveX-Exe-Binärdateien in Ihr Anwendungsverzeichnis kopieren und direkt auf diese Dateien verweisen.
Sind die erstellten Anwendungen ActiveX-EXE-Anwendungen? – djv
Hört sich an, als ob Sie eine Projektgruppe erstellen und alle Projekte hinzufügen (unter der Annahme, dass alle VB6 sind), dann sollte das tun, was Sie brauchen. – helrich
@Verdolino Ja, sie sind ActiveX-EXE-Anwendungen. – user2617750