Probleme bei Konvertierung zu MFC 8 (VC2005)
-
Hallo!
Ich habe ein großes MFC Projekt, welches bis jetzt in VS6 entwickelt wurde auf die 2005 Platform konvertiert bzw. von 2005 konvertieren lassen.
Jetzt gibt es alleredings einige Probleme, besonders was die CString Klasse angeht.
Folgender Fehler tritt insbesondere auf:error C2079: 'CKlasse::m_strString' verwendet undefiniertes class 'CString'gemeint sind dann solche Zeilen im Quellcode (in .cpp, sowie .h Dateien), wie:
CString m_strString;Ich weiss, dass sich von VC6 -> VC8 einige Sachen geändert haben aber es muss doch eine brauchbare Lösung geben, oder?
Hat jemand von euch Erfahrungen damit gemacht?
-
Nun CStringist nicht definiert. Das muss aber an irgendwas internem bei Dir liegen.
Bisher war CString eine Klasse. Seit VC2002 ist CString ein typedef auf ein template mit Namen CStringT...
-
Normalerweise gibt es mit CString bei der Konvertierung keine Probleme. Ich habe etliche Projekte umgestellt. Außer Hinweise auf veraltete Funktionen, und "schlampiger" Programmierung mussten nur einige explizite Casts gesetzt werden.
Vielleicht fehlten dir Header-Dateien? Leg doch mal ein neues Projekt an und vergleiche in der stdafx.h. Ansonsten fällt mir nur noch ein "Zeichensatz". Guck mal in den Projekteigenschaften unter Allgemein/ Zeichensatz, ob überhaupt einer definiert ist (Multibyte oder Unicode).
-
Danke für eure Antworten, Problem ist gelöst!
aus:
CArray <class CString, class CString> m_tstrVar;musste:
CArray <CString, CString> m_tstrVar;gemacht werden.
Dieser Fehler bzw. seine Auswirkungen zogen sich quer durch das Programm.