Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

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

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
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
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".
Com-ActiveX-InProc

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 192653 – Letzte Überarbeitung: 02/22/2014 17:41:28 – Revision: 2.1

Microsoft Visual Basic 6.0 Learning Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbnosurvey kbarchive kbmt kbbug kbdll kbfix kbide kbvs600sp1fix kbvs600sp2fix kbvs600sp3fix KB192653 KbMtde
Feedback