Migration eines VC++ 6 MFC SDI Projekts -> VC++ 2008

RuFFnEcK

Erfahrenes Mitglied
Hallo zusammen,

Ich versuch grad ein vorhandes SDI Projekt, das unter VS 6 geschrieben wurde in ein VS 2008 Projekt zu migrieren. Nachdem ich das Projekt mit VS 2008 geöffnet habe, musste ich feststellen, dass nix mehr geht :(
Natürlich ein riesen haufen an Warnungen, aber auch eine Menge Fehler... So dass ich daran zweifel habe, dass es überhaupt Möglich ist mein Vorhaben zu realisieren.
Ich hab schon eine Menge dazu gelesen, nur wenn ich z.B. Standard Bibliotheken ignoriere nur noch mehr Fehler bekomme. Es treten eine Menge nicht aufgelöster externer Symbole auf... Zudem macht mir diese Zeile sorgen die mehrfach auftritt:

Code:
7>Project : error PRJ0019: Ein Tool hat einen Fehlercode aus folgender Quelle zurückgegeben: "Ein benutzerdefinierter Buildschritt wird ausgeführt."

Ich weiß zum einen nicht wo ich ansetzen soll und zum anderen was ich jetzt machen soll.
Unter VS 6 zu arbeiten ist die Hölle... Aber mir scheint grad kein Weg daran vorbei zu führen :((

Wäre Dankbar für jede Art Hilfestellung dieses Problem in den Griff zu bekommen.

Viele Grüße
RuFFnEcK
 
Soooo,

ich habe mich seit heut morgen im Turbomodus durch die knapp 1000 Fehler durchgearbeitet und habe es auf 2 Fehler reduzieren können :D
Folgende Fehler sind übrig:

Code:
1>CVTRES : fatal error CVT1100: duplicate resource.  type:MANIFEST, name:1, language:0x0409
1>LINK : fatal error LNK1123: Fehler bei der Konvertierung in COFF: Datei ist ungültig oder beschädigt.

Wäre euch echt dankbar wenn ihr mir hierbei helfen könntet.

Viele Grüße
RuFF
 
Hallöchen,

vielen Dank für den Link. Habs dann hinbekommen, musst aber noch eine Zeile in der rc Datei mit der Verlinkung zum Manifest entfernen...
Das Programm kann jetzt kompiliert werden udn startet auch, aber verhält sich etwas anders:

Folgendes Problem:
Kann es sei dass man wenn ein neues Document erstellt wird, dass dieses nicht sofort verfügbar, wie bei VS 6?
Bekomme jetzt immer eine Exception bei Zugriff auf das grad erstellte Document in einer connect Funktion die direkt bei Programmstart oder später aufgerufen werden kann:

Code:
CDriveDoc* pDoc = (CDriveDoc*) ((CMainFrame*) AfxGetMainWnd())->GetActiveDocument();

Es wird kurz vorher:
Code:
CDocument::OnNewDocument()
aufgerufen.
AfxGetMainWnd() liefert einen gültigen Pointer auf das Thread Objekt. Jedoch beinhaltet das pThread Objekt leider keinen gültigen Pointer auf m_pMainWnd und auch sonst fast keine gültige Daten.
Wenn ich die Connect Funktion später aufrufe, klappt alles wunderbar und unter VS 6 gehts auch...

Muss ich vielleicht das erstellte Dokument neu an das App binden oder sowas?

Viele Grüße
RuFFnEcK
 
Zuletzt bearbeitet:
Ich hasse zwar Bastellösungen, aber das ganze Ding ist irgendwie gebastelt ;)
Ich setze jetzt einfach nen Flag und connecte später, dann klappt auch alles...
Schon komisch dass sich der gleiche Code anders verhält je nach dem ob VS 6 oder VS 9.

Egal soll mich nicht weiter interessieren ;-)

Viele Grüße und Danke nochmal!
 

Neue Beiträge

Zurück