Update: Acht oder mehr ActiveX-DLLs in kompilierten Projekt verursachen Fehler

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 192653 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Eine VB Projektgruppe enthält mindestens acht ActiveX-DLL-Projekten und eine standard EXE-Projekt. Das Standard-Projekt erstellt und die ActiveX-DLL-Dateien frei. Die Projektgruppe wird in DLL- und EXE-Dateien kompiliert. Die EXE-Datei wird ausgeführt.

Das erste Mal erstellen und freigeben, die ActiveX-DLL-Dateien, wird das Programm erfolgreich ausgeführt. Jedoch das zweite Mal erstellen und freigeben, die ActiveX-DLL-Dateien ein Anwendungsfehler auftritt und zeigt die folgende Meldung:
Die Anweisung in "verweist auf Speicher in"0x010b008c"der 0x6602c2c5. Der Speicher konnte nicht "geschrieben werden".

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel Microsoft-Produkten handelt.

Dieser Bug wurde in Visual Studio 6.0 Service Pack 3 behoben. Weitere Informationen zu Visual Studio Servicepacks finden Sie in die folgenden Artikeln der Microsoft Knowledge Base:
194022INFO: Visual Studio 6.0 Service Packs, was, wo, warum

194295So wird 's gemacht: Ermitteln Sie, ob Visual Studio 6.0 Service Packs installiert sind

Weitere Informationen

Der Fehler tritt nur bei der kompilierten Projekte außerhalb der IDE von Visual Basic ausgeführt werden. Der Fehler tritt nicht auf, wenn Sie das Projekt über die Visual Basic-Entwicklungsumgebung ausführen.

In diesem Abschnitt wird das ein Beispielprojekt zu erstellen, das Fehler-Verhalten veranschaulicht. Der Abschnitt setzt voraus, Sie mit ActiveX-DLL-Projekten, standard EXE-Projekte, Projektgruppen erstellen und Kompilieren diese Dateien in eine ausführbare Datei vertraut sind.

Schritte zum Reproduzieren des Verhaltens

Das Beispielprojekt enthält acht ActiveX-DLL-Projekte, die in einem Standard-Projekt verwendet werden. Das Standard-Projekt wird dann in eine ausführbare Datei kompiliert. Die ausführbare Datei wird dann ausgeführt, um Fehler Verhalten zu veranschaulichen.

So erstellen Sie die acht ActiveX-DLL-Projekte
  1. Starten Sie ein neues ActiveX DLL-Projekt in Visual Basic. Jetzt wird standardmäßig "Class1" erstellt.
  2. Kopieren Sie den folgenden Code in das Codefenster der Class1:
    Option Explicit
          Public Sub DoNothing()
    
          End Sub
    					
  3. Speichern Sie diese Klasse Modul als Class1.cls und dieses Projekt als Project1.vbp.
  4. Fügen Sie einen anderen ActiveX-DLL-Projekt die Projektgruppe hinzu. Jetzt wird standardmäßig "Class1" erstellt. Entfernen Class1-Klassenmodul aus für dieses Projekt und fügen Sie das Klassenmodul Class1, die Sie für Project1.vbp an die neue ActiveX-DLL erstellt Projekt.
  5. Speichern Sie dieses Projekt als Project2.vbp.
  6. Wiederholen Sie die Schritte 4 und 5, um die Projektgruppe sechs anderen ActiveX-DLL-Projekten mit dem gleichen Class1-Klasse Modul hinzuzufügen. Speichern Sie diese Projekte als Project3.vbp durch Project8.vbp.

    Sie haben soeben eine Projektgruppe mit acht ActiveX-DLL-Projekten gespeichert als Project1.vbp zu Project8.vbp erstellt. Jedes ActiveX-DLL-Projekt verweist auf dieselbe Klassenmodul Class1 in Project1.vbp erstellt.

    Die nächste Schritt besteht darin, ein Standard EXE-Projekt zu erstellen, die die acht ActiveX-DLL-Projekte verwendet.
Um das Standard-EXE-Projekt zu erstellen:
  1. Hinzufügen eines neuen Standard-Projekts, die der gleichen Projektgruppe mit acht ActiveX-DLL-Projekten. Form1 wird standardmäßig erstellt.
  2. Fügen Sie eine Befehlsschaltfläche zu Form1 hinzu.
  3. Kopieren Sie den folgenden Code in das Codefenster des Formulars Form1:
    
          Option Explicit
    
          Private Sub Command1_Click()
             Dim o(8) As Object
             Dim i As Integer
             Dim strProgID As String
    
             For i = 1 To 8
                strProgID = "Project" & i & ".Class1"
                Set o(i) = CreateObject(strProgID)
                o(i).donothing
                Set o(i) = Nothing
             Next
             MsgBox "Done"
          End Sub
    					
  4. Speichern Sie das Projekt als Project9.vbp.
  5. Festlegen Sie Project9.vbp als das Starten eines Projekts. Klicken Sie im Projekt-Explorer mit der rechten Maustaste auf Project9.vbp, und klicken Sie dann auf als starten. Project9.vbp wird in im Projekt-Explorer fett formatiert.
  6. Drücken Sie F5, um das Projekt in der IDE ausführen starten. Klicken Sie in Form1 mehrmals Command1 Schaltfläche und beachten Sie, dass es ordnungsgemäß funktioniert.
  7. Kompilieren Sie die Projektgruppe.
  8. Führen Sie Project9.exe außerhalb der IDE. Das Formular Form1 angezeigt wird. Klicken Sie auf Command1. Ein Meldungsfeld angezeigt wird. Klicken Sie auf OK um das Meldungsfeld zu schließen. Klicken Sie erneut auf Command1. Hinweis, dass ein Anwendungsfehler auftritt und im Meldungsfeld angezeigt:
    Die Anweisung in "verweist auf Speicher in"0x010b008c"der 0x6602c2c5. Der Speicher konnte nicht "geschrieben werden".

Eigenschaften

Artikel-ID: 192653 - Geändert am: Samstag, 22. Februar 2014 - Version: 2.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Keywords: 
kbnosurvey kbarchive kbmt kbbug kbdll kbfix kbide kbvs600sp1fix kbvs600sp2fix kbvs600sp3fix KB192653 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 192653
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com