INFO: Visual Studio 6.0 SP3 Info: Teil 4 - Visual C++

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 230727 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Diese Readme-Datei enthält aktualisierte Informationen für die gesamte Microsoft Visual Studio-Suite von Developer Tools. Wenn Sie ein Core Servicepack aus dem Internet gedownloadet haben, gelten nicht alle Abschnitte dieser Datei für die Sie erhalten Updates. Die behobene Probleme für die Core Downloads in der Visual Studio-Abschnitt sowie in den Abschnitten für die Produkte aktualisiert, indem die Core aufgeführten sind entsprechenden downloaden.

Die Microsoft Visual Studio 6.0 Service Pack 3 Infodatei enthält folgende Abschnitte:

PART 1: Übersicht und Installation

PART 2: Visual Studio

PART 3: Visual Basic

PART 4: Visual C++

PART 5: Visual FoxPro

PART 6: Visual InterDev

PART 7: Visual j++

PART 8: Visual SourceSafe

PART 9: Version

Die neuesten Produktinformation finden Sie in der Visual Studio-Website unter:

http://msdn.microsoft.com/vstudio

Die neuesten Produktupdates finden Sie in der Visual Studio Support Highlights-Website unter:

http://support.microsoft.com/support/vstudio

Finden Sie Abschnitt REFERENCES unter Weitere Informationen über die anderen Teile dieser Readme-Datei.

Weitere Informationen

Microsoft Visual C++

Nachfolgend eine Zusammenfassung der Visual C++-Probleme mit Service Pack 3, angeordnet nach Problem Kategorie und Servicepacks und eine Liste der bekannten Probleme behoben. Finden Sie in der aufgeführten Knowledge Base-Artikeln Weitere Details.

Windows CE ToolKit und Visual Studio 6.0 Service Pack 3

Visual Studio Service Pack 3 überschreibt bestimmte Visual C++ 6.0-Komponenten, die beim Installieren von Microsoft Windows CE Toolkit für Visual C++ 6.0 geändert werden. Daher ist Sie das Windows CE Toolkit für Visual C++ 6.0 mit Service Pack 3 auf dem Computer installierten nicht ausführen können. Beachten Sie außerdem, dass Service Pack 3 ein Deinstallationsprogramm nicht enthalten ist. Wenn Sie Service Pack 3 installieren und dann das Windows CE Toolkit für Visual C++ ausführen möchten, müssen Sie Visual C++ 6.0 mit Visual C++ 6.0-Deinstallationsprogramm entfernen und Neuinstallieren von Visual C++ 6.0 und Windows CE Toolkit für Visual C++. Zukünftige Versionen von Windows CE Toolkit für Visual C++ werden diese Inkompatibilität mit Visual Studio 6.0 Service Pack 3 Adresse.

ATL-Probleme

Installieren von Servicepack 3 auf Windows 2000 Beta 3

Informationen zum Installieren von Visual Studio 6.0 Service Pack 3 auf Windows 2000 Beta 3 finden Sie unter Installieren von Service Pack 3 unter Windows 2000 weiter unten in diesem Artikel.

ATL-Updates

Die folgenden ATL-Probleme wurden behoben:

  • 190531Abstürzt, einen NULL-Zeiger an den Operator löschen (ATL überschrieben) oder die freien Funktion übergeben.
  • 191626CComVariant > und < Operatoren LNK2001-Fehler verursachen.
  • 194180Zugriffsverletzungen, wenn eine ATL-DLL oder EXE-Datei mit einer Version von Visual C++ vor 6.0 auf einem Computer mit der Visual C++ 6.0 ATL.dll erstellt aus der Registrierung installiert.
  • 198019Einige ATL-Steuerelementen nicht ordnungsgemäß Größe.
  • Registering an ATL server with a long pathname failed.
  • 217182Beschreibungen wurden nicht Registrierung hinzugefügt, wenn das DECLARE_REGISTRY()-Makro verwenden.
  • 218829CComEnumImpl<>::Skip() verarbeiten nicht Überlauf ordnungsgemäß.
  • 222613"'M_mov': nicht deklarierter Bezeichner" Fehler mit Alpha-Projekt
  • 223165GetIDsOfNames () gibt DISP_E_UNKNOWNNAME für benannte Argumente

Compiler, Linker/Build-Probleme

Die folgenden Build Probleme wurden behoben:
  • 187280Eine falsche Version der cvtres.exe, die vom Linker verwendet, um Ressourcendateien in COFF-Format zu konvertieren verursacht einige mehrsprachige Ressourcen für die Anwendung nicht verfügbar.
  • 192539Einen Freund << Operator würde nicht kompiliert, wenn außerhalb der Klasse definiert.
  • 194615Projekt löscht vorkompilierten Header erstellt durch andere Projekt.
  • 195376Beim Kompilieren mit/Og/Oa oder/Og und/Ow möglicherweise Code falsch aufgrund von ignoriert die Skala auf eine Dereferenzierung optimiert werden. Zum Beispiel:
    mov         esi,dword ptr [ecx+edx*4]
    mov         ecx,dword ptr [ecx+edx]
    					
    wurde fälschlicherweise folgendermaßen optimiert:
    mov         esi,dword ptr [ecx+edx*4]
    mov         ecx,esi   // error, because we were actually trying 
                          // to load from a different address.
    					
  • 199736Ein Compiler-Beschränkung Kompilieren von Code mit mehr als 58 geschachtelte Klammernpaare verhindert. Mit SP3 unterstützt der Compiler jetzt bis zu 256 Ebenen verschachteln.
  • 205681Die Verwendung der ++-Operator in eine return-Anweisung erzeugt Zugriffsverletzungen, wenn Code mit/od kompiliert wurde.
  • 216181In einigen Fällen generiert die Kompilierung mit/Og falschen Code verursacht den Stack-Rahmen kopiert werden, bevor der Stapel Inhalt vollständig eingerichtet wurden.
  • 216720Wenn für die Geschwindigkeit zu optimieren, generiert des Compilers falschen Code für eine bitweise OR Operation auf einen booleschen Typ verursacht die kompilierte Anwendung zum Absturz, beschädigte Daten oder andernfalls misbehave.
  • 216727Der Compiler generiert fehlerhafte Initialisierungen für const Int-Variablen, die mit Gleitkommawerten initialisiert wurden.
  • 216715Ungültige Codegenerierung oder ein interner Compilerfehler, wenn alle diese Bedingungen anwenden:
    1. Die linken und rechten Seiten des Doppelpunkt in einen ternären (?:) Operator entsprechen dem Klassentyp.
    2. Die rechte Seite ist in der linken Seite von über einen benutzerdefinierten Konvertierungsoperator konvertiert.
    3. Die linke Seite besitzt keinen Konstruktor, der ein Objekt der Klasse angegeben auf der rechten Seite akzeptiert.
  • 216716Der Compiler manchmal nicht das Umsetzung Fixup für die Adresse der Funktion erstellen, wenn deklariert und initialisiert eine Variable vom Typedef mit eine Typedef für die Funktionsdefinition von Zeiger auf Funktion.
  • 216718In einigen Fällen erzeugt das Kompilieren mit/Zi und/Yc einen internen Compilerfehler C1001.
  • 216722Einen Funktionszeiger als ein Vorlage-Klasse Argument verwenden und dann die Funktion aufrufen Siehe das folgende Beispiel erzeugt Compilerfehler:
    template < class T, int (*pfn)(T *)>
    class NewClass
    {
    public:
       int Test(T *pb)
       {
       return (*pfn)(pb);
       }
    };
    int Bar( BOGUS *pb )
    {
       return pb->m_i;
    }
    void main (void)
    {
       BOGUS b;
       b.m_i = 6;
       Foo < BOGUS, &Bar > foo;
       foo.Test(&b);
    }
    					
  • 216731Code konnte den Destruktor einer explizit erstellten anonyme temporäre aufrufen.
  • 216747Beim Optimieren von Code mit/Og und/G6 verschoben Visual C++ manchmal eine Inc., hinzufügen, Sub oder Lea-Anweisung über eine Anweisung, die auf Speicher verweist. In einigen Fällen wie im folgenden Beispiel Visual C++ 6.0 nicht korrekt aktualisiert die Verdrängung:
    inc eax
    mov [eax + 2*eax + 3]
    					
  • 216854Projekte weiterhin Umgebungseinstellungen nach dem Entfernen der Option/useenv verwenden. Die Problemumgehung erforderlich, eine Registrierungseinstellung löschen. Mit SP3 verwendet die IDE Umgebungseinstellungen, nur, wenn/useenv festgelegt ist.
  • 217033In seltenen Fällen Code kompiliert mit/Og Hälfte ein Double in den Arbeitsspeicher gespeichert und anschließend eine FP-Register aus geladen. Da die Hälfte der FP-Wert Zufallsdaten wurde, ergab ein falscher Wert.
  • 195377Beim Erstellen eines VxD mit/Map der Linker verloren das Dateihandle in die Map-Datei, was zu einem Linkerfehler Tools ("LNK1104: Datei file.map kann nicht geöffnet").
  • 217171Der Linker erzeugt ungültige Bilder, wenn beim Erstellen eines VxD oder Treiber mit der Compileroption/ZI (Bearbeiten und Fortfahren). / Zi fügt spezielle Informationen in das Bild beim Laden einer VxD oder Treiber verhindert. Der Linker wurde geändert, um die Option/Zi ignorieren, wenn/VXD angegeben ist. (Dies bedeutet Sie bearbeiten und Fortfahren nicht beim Debuggen einer VxD oder Treiber.) Der Linker auch der Benutzer gewarnt Wenn es sich um einen Abschnitt bekannt, dass für einen VxD ungültig findet.
  • 217168Der Linker erlaubt den Benutzer ein Bild mit einer angegebenen Stapel oder Heap Commit Größe größer als die angegebene Reservegröße zu erstellen. Diese ungültige Zustand verhindert, dass Tools wie der Debugger beim Laden des Bildes. Wenn Sie eine Stapel oder Heap Commit Größe größer als die Reservegröße angeben, gibt der Linker jetzt ein schwerwiegender Fehlermeldung.
  • 217164Fehlerhafter Code wurde generiert, wenn das Ergebnis eine systeminterne Funktion an eine Funktion übergeben wurde, die ein Int & Argument akzeptiert.
  • 217755# Import ignoriert TKIND_MODULE Mitglieder eines Typs Bibliothek.
  • 218611In manchen Fällen generiert die Kompilierung mit/Og und/Ob1 einen falschen Vergleich, wenn eine Schleifenvariablen Induction innerhalb der Schleife verglichen wurde und der Variablentyp im Vergleich aus dem Typ im Rest der Schleife abwich.
  • 218613In einigen Fällen wenn Importe verzögert laden auf Alpha-Plattform verwenden wird vom Linker erzeugt ungültige Korrekturen und erstellt automatisch ein ungültiges Abbild.
  • Visual C++ 6.0 wurde die Terminal Server-fähigen Anwendungen nicht unterstützt. Die SP3-Version fügt eine neue Linkeroption /tsaware [: keine], für diesen Zweck. Die /tsaware-Option veranlasst den Linker, das entsprechende Bit im optionalen Header Bild für eine Terminal Server-fähige Anwendung setzen.

CRT-Probleme

Das folgende CRT-Problem wurde in Service Pack 3 behoben:
  • 214661Sommerzeit Fehler im C-Laufzeitbibliothek.
Die folgenden CRT Probleme wurden in früheren Servicepacks behoben wurde und sind in Service Pack 3 enthalten.

Service Pack 1:

  • 193509In einer Multithreadanwendung konnte einen Thread Setlocale aufrufen, während ein anderer Thread Strftime ausgeführt wurde eine Zugriffsverletzungsausnahme führen.
Service Pack 2:
  • Msvcrt.dll : In Service Pack 2, MSVCRT.dll wurde geändert, um den Visual C++ 5.0 Heap zusätzlich zu den Visual C++ 6.0-Heap für eine bessere Kompatibilität einzuschließen. Visual C++ 6.0-Anwendungen weiterhin das Visual C++ 6.0-Heap und pre-Visual C++ 6.0-Anwendungen verwenden verwendet den Visual C++ 5.0-Heap.
Der Heap-Kompatibilitätsprobleme in der folgenden zwei Knowledge Base-Artikeln beschriebenen Probleme wurden behoben:
  • 190536PRB: Ungültige Seitenfehler in MSVCRT.dll.
  • 194550PRB: Freigeben von Speicher mehrmals, kann eine Zugriffsverletzung verursachen.
  • Bei der Installation werden einige CRT-Heap Verwaltung von Dateien durch aktualisierte Dateien überschrieben, die den Code für den Heap Visual C++ 6.0 und Visual C++ 5.0 Heap enthalten. Wenn Sie die Visual C++ 6.0 statischen Bibliotheken neu erstellen müssen, wird der Visual C++ 5.0 Heap-Code in Ihre statischen Bibliothek enthalten sein. Es wird nicht verwendet werden. Die Visual C++ 5.0 Heap hinzugefügt wurde freigeben das SP2, um Kompatibilitätsprobleme zu vermeiden, die aufgrund von zuvor aufgeführten Probleme auftreten können. Wenn Sie nicht den Visual C++ 5.0 Code in die neu erstellte statische Bibliothek enthalten sein soll, sollte Sie neu, erstellen die mit dem ursprünglichen Code, der veröffentlicht wurde mit Visual C++ 6.0 Bibliothek.

Aktualisierte Datenzugriffsobjekte (DAO)

Eine aktualisierte Version von DAO 3.6 ist in Visual Studio 6.0 Service Pack 3 enthalten. DAO 3.6 im Lieferumfang von Office 2000, und die in diesem Servicepack-Dateien stellen es möglich, für die aktualisierte Version zu entwickeln. DAO 3.6 kann zusammen mit DAO 3.5 installiert werden X. Die SDK-Quelldateien später in diesem Dokument aufgeführten sind nicht verteilbaren.

Aktualisieren auf DAO 3.6 ist nur für vorhandene DAO-Anwendungen empfohlen, die Zugriff auf Datenbanken für Office 2000-Format benötigen. Für neue Projekte wird dringend empfohlen Sie ActiveX Data Objects (ADO) verwenden, der der Nachfolger von DAO als das Microsoft bevorzugte Daten Zugriff Programmiermodell (auf der neuen OLE DB-Technologie integriert).

Änderungen in DAO 3.6

  • Unterstützung für Unicode wurde hinzugefügt.
  • Unterstützung für Unicode wurde hinzugefügt. Unterstützung für Jet 4.0 wurde hinzugefügt.
  • RepairDatabase ist nicht mehr unterstützt. Dies ist auf Jet 4.0 entsprechen. Wenn diese Funktionalität benötigt wird, verwenden Sie CompactDatabase, die auch eine Reparatur durchführen wird.

In Visual Studio Service Pack 3 enthaltenen DAO 3.6-Dateien

In diesem Servicepack enthalten sind die folgenden Dateien:

  • "Dao360.dll"
  • Dao360.chm
Projekte mit DAO aus Visual C++ erstellen oder verwenden, erstellen Sie die LIB-Dateien (Siehe die folgenden Anweisungen). Diese Dateien können auf der Visual Studio Service Pack 3-CD im Verzeichnis \support oder im Ordner "extrahieren" gefunden werden, wenn Sie das Servicepack aus dem Internet gedownloadet haben:
DAO SDK Headers       DAO SDK Source
-------------------------------------- 
_dbdao.h              dbdaouid.cpp 
dbdaoerr.h            resource.h 
dbdaoid.h             version.rc 
dbdaoint.h            stdafx.h 
version.usr           dbdao.dsp 
daogetrw.h            Dbdao.dsw 
VERSTAMP.H            dbdao.mak 
VERSION.H             dbdao.rc 
Dbdao.h               Dbdao.cpp
				

Zum Erstellen von DAO-Bibliotheken

  1. Kopieren Sie die DAO SDK-Header und Source-Dateien in ein Verzeichnis auf einem Computer mit Visual Studio.
  2. Öffnen Sie in Visual C++ DBDAO.DSW.
  3. Im Menü Erstellen auf Konfigurationen und wählen Sie den Typ des Bibliothek, die Sie verwenden möchten.
  4. Wählen Sie im Menü Erstellen Erstellen < Dll Name >. Sie können mehrere Dlls zur gleichen Zeit erstellen, indem Sie im Menü Erstellen auswählen Batch erstellen .
  5. Kompilieren Sie die DAO-Anwendung wie gewohnt.

Verteilen von DAO 3.6

Installieren Sie, um eine Anwendung verteilen, auf die DAO 3.6 über die DAO SDK-Klassen zugreift, die entsprechenden DAO36x.DLL für Ihre Anwendung.

Debugger-Probleme

Die folgenden Debugger Probleme wurden behoben:

  • 198839Mögliche Fehler bei einer asynchronen Unterbrechung auf einem Multiprozessorcomputer Wenn der Haltepunkt mehrmals aufgetreten.
  • 217369Der Debugger würde abstürzen, nicht mehr reagiert oder unzureichender Ressourcen Warnungen ausgeben, wenn ein Programm mit häufig Aufrufe an OutputDebugString Remote zu debuggen.
  • 217437Der Debugger würde abstürzen, wenn zwei Symbole in den Debuginformationen denselben Hashwert haben.
  • 218612Remotedebuggen funktionierte nicht auf der Alpha-Plattform.

IDE-Probleme

Die folgenden integrierten Entwicklungsumgebung (IDE) Probleme wurden behoben:
  • 193478IDE ist abgestürzt, wenn die Ausführung eines Makros wiederholte Ausnahmen verursacht.
  • 193476IDE würde fixieren oder beendet, wenn ein Popup DataTip auf _asm oder __asm anzeigen möchten.
  • 194843Beim Versuch, die Funktionen CreateObject oder GetObject aus der IDE zugreifen, angezeigt VBScript folgende Fehlermeldung:
    Zeile #: ActiveX-Komponente nicht möglich-Objekt 'CreateObject' erstellen
    Aufrufe an diese Funktionen erfolgreich manchmal trotz der Fehlermeldung.

  • 195375Neuzeichnen des Fensters Klassenansicht war langsam Visual SourceSafe verwenden.
  • 216849IDE ist abgestürzt, bei einer speichern wie eines ein Dienstprogramm-Projekts.
  • 216869IDE ist abgestürzt, bei der Benutzer zu markieren und löschen eine Zeile, während ein Funktionsparameter DataTip angezeigt wurde.
  • 216868In einigen Fällen wurde die IDE ohne Warnung beendet, wenn der Benutzer eine abgeleitete Klasse im Quellcode-Editor erstellt.
  • 216853IDE ist abgestürzt, wenn das Documents.Open-Makro wiederholt auf eine Datei ausgeführt, die nicht vorhanden ist.
  • 216851Aufrufe der Developer Studio Objekt-Methode Fehler AddConfiguration bei AddConfiguration in ein MakeFile-Projekt verwendet wurde.

Microsoft Foundation Classes (MFC) Probleme

Installieren von Servicepack 3 auf Windows 2000 Beta 3

Informationen zum Installieren von Visual Studio 6.0 Service Pack 3 auf Windows 2000 Beta 3 finden Sie unter Installieren von Service Pack 3 unter Windows 2000.

Verwenden Access 2000-Datenbanken mit MFC 6.0.

MFC 6.0 hat die Möglichkeit, Microsoft Access 2000-Datenbanken verwenden. Um diese Unterstützung in Ihrer Anwendung zu nutzen, müssen Sie DAO 3.6 nach aktivieren:
  • Verknüpfung mit der DLL-Version von MFC und InitInstance die folgende Zeile hinzufügen, bevor Sie alle datenbankbezogenen Aufrufe vornehmen:
    AfxGetModuleState()->m_dwVersion = 0x0601
    						
    - oder -
  • Kompilieren Sie die statischen MFC-Bibliotheken mit _MFC_VER auf 0x0601 festgelegt.

MFC-Updates

Die folgenden MFC-Probleme wurden behoben:
  • 190518MFC-Anwendungs-Assistenten Symbolleistenschaltflächen für SDI-Anwendungen, die nicht die Dokument-/Ansichtarchitektur verwenden falsche Bilder zugeordnet.
  • 193101Der Thread den Socketstatus wurde in Multithreadanwendungen, statisch verknüpften MFC-Anwendungen nicht initialisiert. Wenn eine der Threads in einer Anwendung AfxSocketInit aufgerufen, konnte weitere Aufrufe an die gleiche Funktion von anderen Threads den Socket Threadstatus für diesen Thread festlegen.
  • 194300Bestätigungen beim Erstellen ein Dialogfeld in eine reguläre MFC-DLL ist aufgetreten.
  • 197448Aufrufen von CString::Format für eine Zeichenfolge gebunden an ein MFC-ODBC-Feld enthält ein doppeltes manchmal verursacht den Speicher neu reserviert werden, machen die Bindung für Parameter und Ausgabespalten inkonsistent.
  • 216850MFC-Anwendungs-Assistenten Anwendungen keine Dokument-/Ansichtarchitektur, anfängliche Statusleiste oder andockbare Symbolleiste würde für eine Assert-Anweisung abstürzen.
  • 217208CMenu::GetMenuString hat Zeichenfolgen über 256 Bytes, mögliche Beschädigungen führt nicht ordnungsgemäß verarbeitet.
  • 217201Ein Fehler in CControlBar::WindowProc verursacht eine Zugriffsverletzung, wenn TOOLTIPTEXT.lpszText die Nummer für eine Zeichenfolgenressource wurde oder wurde nicht verwendete. Dies passierte, wenn der Bezeichner einer Zeichenfolgenressource in den LpszText-Strukturmember kopiert wurden, und der Handle der Instanz mit der Ressource in den Hinst-Strukturmember kopiert wurden.
  • 217216CDaoDatabase::CreateRelation Version jenseits der Verweiszähler, verursacht eine Assertion aufgerufen.
  • 225140MFC-Anwendungen könnte Probleme aufgrund von Fehlern der COleDateTime::operator = ordnungsgemäß Konto für Datumsangaben nach dem das Jahr 1999. Dieses Problem wird durch Änderungen an MFC40.DLL und MFC40u.DLL behoben. MFC-Anwendungen, die diese DLLs verwenden, können die Fehlerbehebung verwenden, ohne erneute Kompilierung. Nur Anwendungen, die mit Visual C++ 4.0 oder 4.1 erstellt benötigen diese aktualisierte DLL.

Servicepack 1

Die folgenden MFC-Probleme in Service Pack 1 behoben wurden und in Service Pack 3 enthalten sind:
  • 192942ActiveX-Steuerelemente, die sich selbst in Antwort auf die verschobenen Größe verursacht einen Stapelüberlauf.
  • 193099CDialog::Create nicht FALSE zurück, wenn Dialogfeld Erstellung ist fehlgeschlagen.
  • 193102Ungeeignete Assertionen wurden in Debugbuilds Automatisierung routing Situationen in im Zusammenhang mit geschachtelte Aktivierungen ausgelöst.
  • 193100Deserialisiert eine ANSI-Zeichenfolge in einem UNICODE-Releasebuild von MFC verursacht eine Zugriffsverletzung.
  • 193272MFC-DLLs mit Visual C++ 6.0 erstellt nicht aufgerufen werden CPrintDlg::OnInitDialog, Programme, die auf dieser Initialisierungsroutine fehlschlagen abhängigen verursacht.

Mehrsprachige Probleme

Die folgenden Arbeiten mit mehreren Sprachen und Sprachen Koexistenz Probleme wurden behoben:
  • Erstellt ein Problem in Devshl.dll, die Microsoft ® Visual Fortran Benutzer daran gehindert Befehlszeile ausführen.
  • Beschädigung der Zeichenfolgentabelle Unfähigkeit, Zeichenfolgen für zusätzliche Sprachen in einer Ressource zu finden, wenn Aufrufe von eine Anwendung aus einer Programmiersprache verursacht.

OLE DB-Consumer-Probleme

Die folgenden OLE DB-Consumer-Probleme wurden behoben:
  • 191738Bei der Verwendung von CArrayRowset verursacht mehr als eine Seite (4 KB) der Daten in den Puffer zu speichern oder einen nicht vorhandenen Datensatz abrufen möchten eine Endlosschleife. Mit SP3 Speichern von mehr als 4 KB Daten ordnungsgemäß funktioniert und einen nicht vorhandenen Datensatz abrufen verursacht eine Zugriffsverletzung (wie vorgesehen), die der Benutzer abfangen kann.
  • 217218OLE DB-Vorlagen verwendet DBFILETIME statt FILETIME.
  • 218929UUID.LIB enthielt eine ungültige Definition für die IViewFilter-Schnittstelle. IViewFilter ist eine OLE DB 1.5-Schnittstelle, die nicht von den OLE DB-Vorlagen verwendet wird. Dieser Definition kann jedoch zu Problemen für OLE DB-Consumer versucht, die Schnittstelle direkt verwenden führen.
  • 223180Update: DB_E_ERRORSOCCURRED von Jet-Provider bei OpenDataSource.

OLE DB-Provider-Probleme

Die folgenden OLE DB-Provider Probleme wurden behoben:
  • 201387CTABLESRow eine Spalte TABLE_PROPID keinen. Dies wurde, hinzugefügt so OLE DB-Vorlagen-Anbieter nicht fehl, wenn ein Consumer dieser Spalte anfordert.
  • 217181Der PROVIDER_COLUMN_ENTRY-Makros legen den Wert DBID.eKind (DBKIND_GUID_NAME) anstelle von 2 (DBKIND_NAME) auf Null fest. Dies konnte Problemen führen, wenn ein Provider OLE DB-Vorlagen mit SQL Server 7.0 verwendet wird.
  • 217183IDBPropertiesImpl::GetPropertyInfo nicht die richtigen Werte zurück, wenn der cPropertyIDSets-Parameter NULL war. Undefinierter Consumer Verhalten, einschließlich seltsame Fehlermeldungen, Abstürze oder Sperren Ups möglich.
  • 217185IRowsetImpl::GetData zurückgegeben einen Wert ungleich 0 (null) für die Länge, selbst wenn die Daten null war. GetData zurückgegeben jetzt ordnungsgemäß für die Länge Null, wenn die Daten null ist.
  • 217186Die OLE DB-Vorlagen nicht die Spalten CATALOG und SCHEMA für alle Schemarowsets auf null, für die OLE DB-Provider festlegen, die TheIDBInfo-Schnittstelle nicht implementieren.
  • 217187Ein Fehler in InternalCreateSchemaRowset verursacht eine Zugriffsverletzung.
  • 217188Um besser von OLE DB-Spezifikation entsprechen, haben die Namen der Spalten im CCOLUMNSRow Provider Spalte Zuordnen von die Hinzufügung von einem Unterstrich geändert. TableCatalog ist z. B. TABLE_CATALOG werden. Dies verhindert, dass Anbieter für OLE DB-Vorlagen schlägt fehl, wenn ein Consumer eine der folgenden Spalten anfordert. Führende möglich abstürzen oder hängende, würde ein Verbraucher, der Informationen über die Initialisierung Eigenschaften (Informationen über Benutzer-ID, Kennwort und usw.) vom Anbieter abgefragt falsche Informationen erhalten.

Probleme bei Visual SourceSafe-Integration

Das folgende Visual SourceSafe Integration Problem wurde behoben:
  • 206665Befehl letzte Version abrufen nicht neu laden alle Projekte, die geändert wurde. Wenn mehrere Arbeitsbereiche auf einem Computer geöffnet war, und die Projekteinstellungen in jedem Projekt auf einem anderen Computer geändert wurden, wurden die Projekteinstellungen für alle Projekte nicht aktualisiert. Wenn mehr als zwei Arbeitsbereiche geändert wurden, wurden nicht alle aktualisiert.

Bekannte Probleme

In diesem Abschnitt werden aktuelle Probleme für die Visual C++ 6.0, SP3-Version beschrieben. Informationen zu Problemen, die behoben wurden, finden Sie in den Abschnitten vor diesem.

OLE DB-ODBC-Probleme

  • MFC EXE Appwizard kann die Arbeitsblätter in einer Excel-Tabelle anzeigen, wenn eine ODBC-Verbindung angeben.

    Wenn Sie eine Excel-ODBC-Verbindung angeben, wird die MFC-EXE-Appwizard zeigt eine leere Liste und fordert den Benutzer auf eine Tabelle auswählen. Um dieses Problem zu umgehen, verwenden Sie eine OLE DB Provider für ODBC-Treiber-Verbindung mit dem Excel-Tabellenblatt stattdessen aus.
  • MFC EXE Appwizard generiert die Anwendung fehlschlägt, Recordset in einer Access-Tabelle über die OLE DB-Provider für ODBC-Treiber zu öffnen.

    Wenn eine MFC-EXE-Datei Appwizard generierte Anwendung, die Verbindung einer Access-Tabelle über die OLE DB-Provider für ODBC-Treiber ausgeführt wird, wird eine Meldung "Recordset nicht öffnen" angezeigt. Gegenwärtig gibt es keine Abhilfe für dieses Problem. Es wird in einer zukünftigen Version von Microsoft Data Access Components (MDAC) behoben werden.
  • Microsoft OLE DB-Provider für SQL Server kann eine Tabelle ohne Primärschlüssel zu öffnen.

    Eine Tabelle, die keinen Primärschlüssel definiert, kann nicht den Microsoft OLE DB-Provider für SQL Server geöffnet. Um dieses Problem zu umgehen, greifen Sie die Tabelle mithilfe der Microsoft OLE DB-Provider für ODBC-Treiber und eine SQL Server ODBC-Treiber .
  • Löschen eines Datensatzes führt zum Verlust der Cursorposition mit ADO oder Microsoft Access-ODBC-Treiber. Wichtige Informationen zu einem bekannten Problem mit dem MDAC 2.1-ODBC-Treiber finden Sie unter Access ODBC Keyset Cursor ist beschädigt nach einer löschen an:

    http://support.microsoft.com/support/kb/articles/Q230/1/31.asp

Verwenden MDAC 2.1 mit Visual Studio SP3

Die MDAC 2.1-Bibliothek und Headerdateien werden von Setup nicht installiert. Visual Studio Service Pack 3 wurde mit der MDAC 2.0 Headern und Bibliotheken für MDAC 2.1-Binärdateien getestet. Wenn Sie bestimmte MDAC 2.1-Schnittstellen verwenden möchten, müssen Sie die Header und Bibliotheken manuell zu installieren. Informationen zum Installieren der Bibliothek und der Headerdateien finden Sie unter Installieren von Microsoft Data Access Components 2.1.

Windows 2000-Probleme

  • Debugger kann auf Windows 2000 Beta 3 abstürzen.

    Ein Problem topaktuelle verhindern möglicherweise das Debuggen von Visual C++-Anwendungen unter Windows 2000 Beta 3. Sie können Ihre Anwendungen kompilieren.
  • Debugger zeigt möglicherweise Ausnahmen unter Windows 2000 nicht ordnungsgemäß gemeldet.

    Auf einige Versionen von Windows 2000 wird der Debugger nicht bestimmte Typen von Ausnahmen ordnungsgemäß gemeldet. Beispielsweise wird manchmal der Debugger bieten die Ausnahme mit der CRT durchlaufen, wobei eine Abbrechen-Nachricht gemeldet werden. Dieses Windows 2000-Problem wird voraussichtlich in zukünftigen Versionen behoben sein.
  • SDK-Header und Bibliotheken für Internet Explorer 5 und Windows 2000 nicht in Visual Studio Service Pack 3 enthalten.

    Visual Studio Service Pack 3 ist nicht die neueste SDK-Header und Bibliotheken für Internet Explorer 5 oder Windows 2000 enthalten. Die aktualisierte Headern und Bibliotheken für Internet Explorer 5 sind die Microsoft- und Internet-Beispiele herunterladen Bereich erhältlich. Finden Sie für zukünftige Windows 2000 SDK-Updates auf der MSDN-SDK-Webseite .
  • MFC-Anwendungs-Assistenten generiert falsche Spaltenzuordnung, wenn Verwendung von OLE DB ODBC-Provider und Microsoft Access

    Wenn Sie generiert eine MFC-Datenbankanwendung mithilfe von OLE DB und den OLE DB ODBC-Provider für eine Access-Datenbank verwenden, möglicherweise die Anwendungs-Assistent eine Spaltenzuordnung mit falschen Ordinalzahlen in der Datei Set.h generieren. Die Problemumgehung besteht die Ordinalzahlen, beginnend mit 1 zurückgesetzt. Zum Beispiel:
    BEGIN_COLUMN_MAP(CMyTable)
       COLUMN_ENTRY_TYPE(2, DBTYPE_I4, m_id)
       COLUMN_ENTRY_TYPE(3, DBTYPE_STR, m_field1)
       COLUMN_ENTRY_TYPE(4, DBTYPE_STR, m_field2)
    END_COLUMN_MAP()
    
    should be:
    
    BEGIN_COLUMN_MAP(CMyTable)
       COLUMN_ENTRY_TYPE(1, DBTYPE_I4, m_id)
       COLUMN_ENTRY_TYPE(2, DBTYPE_STR, m_field1)
       COLUMN_ENTRY_TYPE(3, DBTYPE_STR, m_field2)
    END_COLUMN_MAP()
    					

Informationsquellen

Weitere Informationen zu Visual Studio 6.0, SP3-Infodatei finden Sie in die folgenden Artikeln der Microsoft Knowledge Base:

230722Visual Studio 6.0 SP3-Infodatei Teil 1 - Übersicht und Installation

230724Visual Studio 6.0 SP3-Infodatei Teil 2 - Visual Studio

230726Visual Studio 6.0 SP3-Infodatei Teil 3 - Visual Basic

230729Visual Studio 6.0 SP3-Infodatei Teil 5 - Visual FoxPro

230730Visual Studio 6.0 SP3-Infodatei Teil 6 ? Visual InterDev

230731Visual Studio 6.0 SP3-Infodatei Teil 7 ? Visual j++

230732Visual Studio 6.0 SP3-Infodatei Teil 8 - Visual SourceSafe

230733Visual Studio 6.0 SP3-Infodatei Teil 9 - Version

Eigenschaften

Artikel-ID: 230727 - Geändert am: Dienstag, 23. Januar 2007 - Version: 1.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Studio 6.0 Service Pack 3
Keywords: 
kbmt kbinfo KB230727 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: 230727
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.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

Ihr Feedback an uns

 

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