Borland C++ Builder - Visual Studio 2008



  • Hallo,

    habe bisher nur mit dem Borland C++ Builder gearbeitet und möchte nun auf
    das Visual Studio 2008 umsteigen.

    Unter Borland gibt es nach dem Start ein Formular Form1 dazu den Header unit1.h
    sowie unit1.cpp.

    Unter Visual Studio gibt es nur noch Form1.h indem sich der Code z.B. OnClick
    Event eines Buttons befindet. Ist das ganze nun als inline zu verstehen
    oder gibt es eine Möglichkeit wie unter Borland einen Header sowie ein dazugehöriges cpp Modul zu bgekommen?



  • Ja es gibt auch eine extra cpp, er erstellt das zwar im header (was mir nicht gefällt), aber einfach die geschwungenen Klammern entfernen und das Semikolon nach der klammer der Prozedur setzen. (Auflösung entfernen und daraus nur deklaration machen).

    Er erstellt unter "Quelldateien" in der Projektmappe auch ein HIERPROGRAMMNAME.cpp.
    Da einfach die Prozedur reinkopieren.
    und auflösen.



  • Du meist also das ganze von Hand machen, ist aber ein wenig umständlich oder?
    Gibt es da keine andere Möglichkeit, irgendwelche Einstellungen.

    Ich bin es halt gewohnt meine Header sowie C/C++ Module zu haben.

    Und seit wann ist ein Pointer ^ und nicht mehr *?

    Gibt es eigentlich fertige Socket Komponenten (TCP/UDP) habe in der Toolbox
    bisher nichts gefunden.



  • Seit dem du nicht c++ sondern c++/cli mit .net machst. Welche Version hast du von VS 2008, und wenn duz schon was mit Forms machst kann das nur entweder MFC sein was aber nicht mit der Express-Version geht. Oder halt c++/CLI oder C#.

    So jetzt kannst du die nötigen Antworten geben um das Puzzle zu lösen



  • Hallo CTecS,

    erstmal danke für Deine Antwort.

    Welche Version hast du von VS 2008

    Ich habe mir die Testversion Visual C++ 2008 Express Edition bei Microsoft gezogen.

    Oder halt c++/CLI

    Was bedeutet hier CLI.



  • Hallo!

    Das CLI bedeutet Common Language Interface, und verbindet somit "reines" C++ mit .NET.



  • Das CLI bedeutet Common Language Interface, und verbindet somit "reines" C++ mit .NET.

    Werde mir das mit dem .NET mal genauer anschauen.

    Mache gerade erste Versuche mit einem Timer.

    private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) {
    
    	String ^MyText = "Timer1 Event";
    	static unsigned int Cnt = 0;
    	Cnt++;
    	TextBox1->Text = MyText;
    	?? TextBox2->Text = String::Function(Cnt); ??			 
    
    			 }
    

    Gibt es in der Klasse String eine Funktion zum wandeln von unsigned int
    nach String?

    String^ Function();

    Habe da schon mal reingeschaut finde aber nichts;

    Unter dem Borland Builder gab es da
    InToStr()
    oder die Klasse AnsiString().sprintf(...



  • Unter der MFC gibt es einen CString mit der Methode format.



  • Wenn Du von Borland umsteigst, dann verwendet bitte die MFC... und nicht WinForms. Das macht keinen Sinn... siehe:
    http://blog.kalmbach-software.de/de/2010/03/05/ccli-und-winforms-macht-keinen-sinn/



  • Jochen Kalmbach schrieb:

    Wenn Du von Borland umsteigst, dann verwendet bitte die MFC... und nicht WinForms. Das macht keinen Sinn...

    Danke für den Hinweis.
    Welche Vorteile hat C# oder doch lieber Borland C++Builder2010 nehmen?



  • Es kommt auf Dein ZIEL an 😉

    Wenn es Dir um RAD geht, nimm C#.
    Wenn es Dir um native Apps geht, nimm Borland oder VS mit MFC/wxWidgets/Qt.



  • Wenn du vom C++ Builder kommst, sollte dir C# leichtfallen. In C# und in Windows Forms sind einige Anleihen aus Delphi enthalten.

    Schau mal hier rein
    http://openbook.galileocomputing.de/visual_csharp/

    Die vielen aktuellen Bücher sind auf jeden Fall ein Pluspunkt für C#.

    Außerdem kann man über C++/CLI relativ einfach bestehenden C++ Code an .net anbinden. Dafür und nur dafür ist C++/CLI gut.

    Es gibt aber auch noch Anwendungsgebiete wo C++ weiter sinnvoll ist. Im kleinen sind das z.B. Tools die ohne Installation vom USB-Stick starten sollen und kein installiertes .net Framework voraussetzen.

    Obwohl ich sonst fast alles mit Visual Studio programmiere, ist da der C++ Builder sehr praktisch. Für sowas würde ich nicht von der VCL auf die MFC umsteigen, die ist ja noch ein ganzes Stück älter.



  • Jochen Kalmbach schrieb:

    Es kommt auf Dein ZIEL an 😉

    Wenn es Dir um RAD geht, nimm C#.
    Wenn es Dir um native Apps geht, nimm Borland oder VS mit MFC/wxWidgets/Qt.

    Also mit C# habe ich RAD(Rapid Application Development), dafür muss dann
    die CLR (Common Language Runtime) auf dem Rechner installiert sein.
    Läuft es dann auch unter Linux, MacOS ... wenn dort CLR installiert ist.
    Das ganze schimpft sich dann .net?

    Was genau ist eigentlich das CLI(Common Language Interface) zu Deutsch
    Gemeinsammes Sprachinterface. Können über diese Schnittstelle Java, HTML
    C# unsw miteinander Kommunizieren oder wie ist das gemeint?



  • Wenn du das neue Embarcadero RAD Studio 2010 nimmst hast du auch eine sehr mächtige Entwicklungsumgebung für RAD (Borland -> Embarcadero), ist halt der Nachfolger vom C++ Builder, den du ja kennst.

    Die CLR wird automatisch mit dem .NET Framework installiert, und wie der Name schon sagt, es ist nur ein Framework.

    Auf Linux kann man das zwar auch benutzen, dort muss dann aber Mono installiert sein, und aktuell ist es soweit wie .NET 2, also doch schon etwas älter (aktuell ist 3.5 und dieses Jahr noch kommt 4.0 mit Visual Studio 2010).

    An deiner Stelle würde ich beim Builder bleiben (bzw. heisst es ja jetzt RAD Studio), den kennste ja bereits.

    Und mit C# kann man zwar native Anwendungen und auch Websites machen, aber zu Java gehts glaub ich nicht.



  • An deiner Stelle würde ich beim Builder bleiben (bzw. heisst es ja jetzt RAD Studio), den kennste ja bereits.

    Genau das werde ich auch tun.

    Ich frage mich nur was das mit dem CLI / .net für einen Sinn hat?
    Aus welchen Grund wurde das eingeführt.

    Für mich sehe ich da im Moment keine Vorteile.



  • Das CLI kommt nur mit C++ und .NET zum Vorschein.

    Da hat Microsoft probiert C++ mit dem .NET zu verbinden, aber so ganz gelungen ist es nicht. 😃

    Wenn man mit .NET entwickeln will, sollte man wirklich C# benutzen (oder auch noch VB.NET).



  • Der Sinn ist eine "einfache InterOp" Schnittstelle zu haben. Und das Ziel ist gelungen. Aber es war (ode rist jetzt) nicht das Ziel, damit ganze GUIs zu entwicklen!


Log in to reply