Visual C++ Programm unter C++ Builder 2009 nutzen



  • Hallo,

    ich habe ein älteres Projekt, was offensichtlich in Visual C++ geschrieben wurde.
    Nun habe ich mir den C++ Builder gekauft und wollte diese Projekt auf neuen Stand bringen.
    Da ich sonst in Delphi arbeite, habe ich schon noch so einige Probleme mit Headerdateien etc.
    Ich finde nichts für Bsp. CString und CFile.
    CString habe ich dann mal als typedef char* CString; definiert, aber bei CFile scheint es sich um eine Klasse zu handeln, welche ich noch nicht gefunden habe, einzubinden.

    Auch bei
    #include "stdafx.h" bin ich noch nicht weiter. Das scheinen irgendwie alte Routinen für die Windowsverwaltung zu sein.

    Hat jemand Tipps für solche Implementierungen von Visual C++ nach Builder?
    Im Forum habe ich schon einige Zeit gesucht, aber noch nicht passendes gefunden.



  • Das sind alles MFC- oder ATL-Klassen. C++Builder enthält zwar eine etwas antiquierte Version der ATL, aber die MFC sind nicht verfügbar. In C++Builder wird wie in Delphi üblicherweise die VCL als UI-Bibliothek eingesetzt.

    Abhängig von der Größe deines Projektes sowie deinen Zielen solltest du erwägen, wie sinnvoll es ist, das Projekt in C++Builder weiterzubearbeiten. Wenn das Programm eine MFC-Anwendung bleiben soll, oder wenn es recht groß ist und du nicht viel Zeit hast, die erforderlichen Änderungen zu implementieren, dann solltest du dir eine Umgebung zulegen, in der du mit MFC arbeiten kannst - also eine der kostenpflichtigen Editionen von Visual C++. Wenn es aber um die langfristige Pflege des Projektes geht und du in Kauf nimmst, zumindest die graphische Benutzeroberfläche des Programmes unter Benutzung der VCL mehr oder weniger neu schreiben zu müssen, dann ist C++Builder sicherlich eine Option: denn auf lange Sicht ist die Arbeit mit der VCL - so meine Erfahrung - deutlich produktiver als mit VC/MFC.

    Was macht das Programm denn, wie umfangreich ist es? Ist der Code einigermaßen sauber in UI und Anwendungslogik getrennt?



  • Im Programm ist eigentlich nicht viel UI. Die meisten Sachen sind Auswertung von Dateien und das Schreiben von Logfiles über die ausgewerteten Files. An UI ist eigentlich nur eine Textbox und vielleicht ein Open/Savedialog.
    Da ich aber in C++ (außer microcontroller) noch nicht viele Erfahrungen habe, tue ich mich da schon ein wenig schwer, was so alles bei C läuft. Im Microcontroller C ist das relativ übersichtlich, aber hier unter Windows wird das doch schon schwierig.
    Bei Delphi würde ich das bestimmt alles erst mal überschauen, aber bei bestimmt 7000 Zeile Quellcode wollte ich mir das nicht antun, alles in Delphi zu übersetzen.
    Was kostenpflichtiges wollte ich mir erst mal nicht zulagen, da ich erst den C++ Builder gekauft habe.



  • Zeras schrieb:

    Im Programm ist eigentlich nicht viel UI. Die meisten Sachen sind Auswertung von Dateien und das Schreiben von Logfiles über die ausgewerteten Files. An UI ist eigentlich nur eine Textbox und vielleicht ein Open/Savedialog.

    Dann ist das kein ganz unsinniges Unterfangen. Du könntest in der MSDN-Dokumentation nach CString, CFile und den anderen MFC-Klassen, die da noch verwendet werden, suchen und ggf. eigene Implementationen dafür verfassen, das ist mehr oder weniger trivial und erleichtert die Portierung des Codes. Alternativ kannst du natürlich den Code anpassen, aber das scheinst du ja umgehen zu wollen.

    Zeras schrieb:

    Da ich aber in C++ (außer microcontroller) noch nicht viele Erfahrungen habe

    ... solltest du das vor dem Weitermachen dringend ändern. Für das Erlernen von C++ unter Benutzung des C++Builder ist Richard Kaisers Buch zu C++Builder 2007 sehr empfehlenswert.



  • [quote="Zeras"]Da ich aber in C++ (außer microcontroller) noch nicht viele Erfahrungen habe[/quote]... solltest du das vor dem Weitermachen dringend ändern. Für das Erlernen von C++ unter Benutzung des C++Builder ist Richard Kaisers Buch zu C++Builder 2007 sehr empfehlenswert.[/quote]

    Das habe ich gestern bestellt. Mal sehen, wann es ankommt.
    Danke für den Tipp. Da habe ich ja das richtige rausgesucht unter den Büchern.


Anmelden zum Antworten