# Borland C++ Builder?



## Sinac (5. November 2002)

Hat schonmal jemand (mit etwas mehr erfahrung) mit Borland
gearbeitet? Ich hab da jetzt schon jede menge verschiedene
Meinungen drüber gehört un dbin mir etwas unsicher ob ich
mit Borland anfangen soll!
Das ding is halt, das ich mit C++ erst angefangen hab und 
halt bis jetzt nur in G++ unter Linux kleine Konsolen Anwen-
dungen geschrieben hab um die Grundlagen zu lernen (Funktionen,
Strukturen, Klasse etc.)
Allerdings lernen wir jetzt in der Schule auch C++, allerdings 
gleich mit GUIs unter Borland.
Wäre ziemlich cool, wenn mir da jemand n bischen was drüber
sagen könnte, nur mal so grib, obs da große Nachteile gibt mit
Borland! Also ich habe gehört das halt echt sone Mischung aus 
Delphi und ANSI C++ ist und Borland zum Teil Befehle nutzt, mit
der andere Compiler nix anfangen können!
Aber das man sich die GUIs nur so "hinklickt" und nicht selber
direkt auf die WinAPI etc. zugreift ist doch normal, oder?
Ich dachte erst, man müsse das alles selber schreiben (was für
mich durchaus ok wäre, da schon gerne 100% weiß was mein Compiler
da macht), aber ich habe mal mit nem Programierer getextet und 
der meinte das sei wohl normal und auch sinnvoll?!!
Wir fangen auch in der Schule erstmal mit Ereigniss orientiertem
programmieren an, da das wohl für Leute die noch nie Programmiert
haben leichter sei. Allerdings habe ich schon viel in VB gemacht 
und denke mal das OOP etwas sinnvoller ist!

Hoffe mal mir kann da jemand weiterhelfen.


----------



## Dario Linsky (5. November 2002)

> Das ding is halt, das ich mit C++ erst angefangen hab und
> halt bis jetzt nur in G++ unter Linux kleine Konsolen Anwen-
> dungen geschrieben hab um die Grundlagen zu lernen (Funktionen,
> Strukturen, Klasse etc.)


meiner meinung nach ist es immer sinnvoll, wenn man erstmal mit konsolenanwendungen anfängt, um die sprache zu lernen. denn auch da ist das objektorientierte prinzip schon voll vorhanden und wird teilweise auch schon schwer genug. windows-programmierung erfordert zwar normalerweise wirklich einiges an hintergrundwissen, aber "höhere" entwicklungsumgebungen (wie z.b. der c++ builder) machen einem da das leben wesentlich leichter.
allerdings muss man dann auch damit einverstanden sein, dass man nicht mehr mit richtigem ansi-c++ programmiert, sondern eher mit dem win32-api oder mit der klassenbibliothek der jeweiligen umgebung.



> Wäre ziemlich cool, wenn mir da jemand n bischen was drüber
> sagen könnte, nur mal so grib, obs da große Nachteile gibt mit
> Borland!


nachteile wären mir neu. der c++ builder kann genau das, was alle anderen c++-compiler auch können: c++. allerdings wird die umgebung leider oft dazu benutzt, um eine c++-anwendung einfach zusammenklicken zu können, wie in vb oder delphi.



> Also ich habe gehört das halt echt sone Mischung aus
> Delphi und ANSI C++ ist und Borland zum Teil Befehle nutzt, mit
> der andere Compiler nix anfangen können!


das mit delphi ist richtig, denn die oberfläche (und der hersteller) der umgebung ist die gleiche. ausserdem greifen beide umgebungen (delphi und c++ builder) auf die gleichen klassen aus der vcl zurück. 
dass borland zum teil befehle benutzt, die andere compiler nicht verstehen, ist nicht ganz richtig. die vcl ist allerdings absolut borland-spezifisch und kann in anderen umgebungen nicht eingesetzt werden (zumindest nicht ohne weiteres).



> Aber das man sich die GUIs nur so "hinklickt" und nicht selber
> direkt auf die WinAPI etc. zugreift ist doch normal, oder?


das ist ebenfalls nicht ganz richtig. es ist zwar nicht notwendig, sich mit den api-funktionen alles selbst erst "zusammenschreiben" zu müssen, aber ganz an dem api kommt man trotzdem nicht vorbei. wozu auch? immerhin enthält das windows-api inzwischen zigtausend nützliche funktionen, die man einfach verwenden kann. ohne das api müsste man sich viele funktionen erst selber entwickeln und direkt auf die hardware (beispielsweise die grafikkarte) zugreifen. nachteil des windows-apis ist allerdings, dass es (meines wissens nach) absolut nicht objektorientiert ist. das wird aber teilweise durch die vcl wieder ausgeglichen, da viele api-funktionen in klassen nutzbar sind (z.b. zugriffe auf die systemregistrierung oder ähnliches).


> Wir fangen auch in der Schule erstmal mit Ereigniss orientiertem
> programmieren an, da das wohl für Leute die noch nie Programmiert
> haben leichter sei.


die vcl ist auch ereignisorientiert. das bedeutet ja auch nichts anderes, als dass steuerelemente und andere objekte auf bestimmte ereignisse reagieren können. beispielsweise reagiert ein button auf das klick-ereignis und tut dann etwas bestimmtes.


> Allerdings habe ich schon viel in VB gemacht
> und denke mal das OOP etwas sinnvoller ist!


c++ ist genau so objektorientiert, wie vb. allerdings ist die objektorientierung unter visual basic etwas gewöhnungsbedürftig und anders aufgebaut, als unter c++. aber der grundgedanke und der umfang ist der gleiche. trotzdem läuft in visual basic leider ein grosser teil über das windows-api ohne objekte wie in der vcl.


----------



## MrChefman (30. November 2006)

Aha, da hab ich ja mal was gefunden, was ich seit einiger Zeit gesucht habe.

Ich habe eine Anwendung mit Borland C++ Builder erstellt. Alles schön objekt- und ereignisgesteuert. Habe dann mal versucht, dieses Projekt mit dem Visual Studio zu erstellen. 
Zum einen klappt das nicht, weil die vcl.h nicht da sind (und wenn man diese kopiert fehlen andere usw.).
Weiterhin werden die Oberflächen als .dfm Datei erstellt. Diese sind auch nicht mit VS zu lesen.
Also bleibt mir wohl nichts anderes übrig, als bei Borland C++ builder zu bleiben.

Und noch abschließend:
Bislang wurde der C++ Builder 6.0 Pro benutzt. Aus Kostengründen sollen jetzt C++ Builder 6.0 Personal gekauft werden. Da es sich bei meiner Anwendung nur um Forms, Buttons, TextFields und 1 TCP/IP Client handelt, sollte das doch keine Probleme bereiten. Soweit ich weiß, bietet die personal version einfach nicht so viele vorgefertigte Objekte an - die grundlegenden (s.o.) sind aber drin. Und auch alles wichtige aus der vcl.


----------



## MrChefman (11. Dezember 2006)

Noch eine Frage zum Borland C++ Builder.
Ich habe nun die Personal Variante. Dort fehlt mir einzig das Objet TTcpClient. Habe nun folgendes versucht:

Ich habe ein Datei "Sockets.hpp", in der - so wie ich es erkennen kann - der TTcpClient, der mir bislang fehlt, beschrieben wird. Hat auch alle propertys - soweit ich das sehen kann. 
Bislang war er als Objekt auf dem Formular eingebaut. Nun geht das nicht mehr und ich will das Objekt manuell erzeugen. Dazu habe ich die Sockets.hpp included, in der Header das Objekt definiert (TTcpClient *TcpClient1) und will es nun erzeugen: TcpClient1 = new TTcpClient.
Will ich dann speichern, kommt die Fehlermeldung:
Mainform->TcpClient1 does not have a corresponding component.
Was habe ich falsch gemacht?


----------



## andreasst (12. Dezember 2006)

Zum Thema kostengünstiger C++Builder: 
Borland hat seine letzte Version(2006) auch in einer etwas schlankeren Variante nähmlich Borland Turbo CPP Explorer und Pro herausgegeben. Das hat nichts mit dem alten Turbo C zu tun. Unterscheidet sich dadurch, dass es nur eine Programmiersprache compiliert nicht wie das neue Developer Studio. Ist in einer gratis Version und einer Pro Version verfügbar. Beide auch für kommerzielle Zwecke. Die Gratis Version ist um die 3rd Party Komponenten abgespeckt und um die Funktion neue Komponenten zu installieren. Die Pro Version kostet ~400 USD. Ich arbeite mit dieser, und bin sehr zufrieden damit. Die Umstellung von Vorgänger Versionen des C++ Builder dauert etwas.


----------



## Turri (12. Dezember 2006)

Hallo,

ich muss mich mal kurz einmischen...


> Ich arbeite mit dieser, und bin sehr zufrieden damit.


Ich hab noch die 6.0er Version...

Weißt du zufällig ob die das Speicherleckproblem bei der TCppWebBrowser Komponente in den Griff bekommen haben?
Sprich wenn man in einem Webrowserfenster paar Seiten öffnet wird der Speicher immer mehr (auch bei gesetzten Flags für "no Cache" und "no History").... 
Wenn man dann nen delete "Webbrowserfenster" macht, bleiben Reste im Speicher liegen...

MfG Turri


----------



## andreasst (12. Dezember 2006)

hab noch nie mit der Komponente gearbeitet. Weiß also nicht ob der Bug behoben ist. Grundsätzlich ist aber sehr viel umgearbeitet. Tut mir leid


----------



## MrChefman (12. Dezember 2006)

Vielleicht kann mir jemand bei einem weiteren Problem helfen:

Ich habe ein Formular, bei dem keine BorderIcons angezeigt werden, egal, was ich im Object Inspector angebe.

Woran könnte das liegen?


----------



## Turri (12. Dezember 2006)

Hallo,

hast du nen Stück Code dazu was du gemacht hast, und was du vor hast und sowas?
Was meinst du mit BorderIcon's?

MfG Turri


----------



## MrChefman (12. Dezember 2006)

Bei den Formularen kann man die Property "BorderIcons" setzen, da wird dann das Minimieren, Maximieren usw. gemacht.
Das ist im Objekt Inspektor zu wählen und steht dann auch in der .dfm Datei.

Wenn jemand schonmal so ein Problem hatte, sollte das als Auskunft genügen.


----------

