Hallo Christoph,
Wenn ich Dich da richtig verstehe, würde der Code, der auf der VCL beruht, diese zum Bauen benötigen. Da müßte sie aber auch jeder Bauer erwerben, oder gibt es die für Lau?
Das Beispiel einer "Form", auf der ein RichEdit Control liegt:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
end.
Unter "uses" findest du verschiedene (sogenannte) Units, die im Prinzip nichts anderes darstellen als Wrapper um die entsprechenden Betriebssystemfunktionen. Wenn ich den Source Code dieser "Form" oeffentlich mache, siehst du zwar die Units die ich benutzt habe, aber den dahinterstehenden, lizensierten Borland Quellcode nicht. Musst du auch nicht, denn du kannst den o.g. Code - sofern du im Besitz des Delphi Compilers bist - sofort compilieren (was im obigen Beispiel natuerlich mehr als sinnlos waere ...).
Die VCL ist integraler Bestandteil von Delphi und wird logischerweise bei jeder Version des Programms mitgeliefert. Wobei sich die Art und die Anzahl der Komponenten von Delphi Version zu Delphi Version unterscheiden. Delphi Standard kommt beispielsweise ohne Datenbankkomponenten und (soweit ich weiss) ohne VCL Source Code daher , waehrend zum Lieferumfang von Delphi Professional beispielsweise fast der komplette, lizensierte VCL Source Code gehoert. Letzteren darfst du als registrierter User zwar uneingeschraenkt benutzen, aber selbstverstaendlich nicht publizieren.
Ob Delphi (Object Pascal) 100% objektorientiert ist oder nicht, darueber koennte man ggf. streiten. Die offizielle Beschreibung Borlands lautet zumindest "Delphi ist eine objektorientierte, visuelle Entwicklungsumgebung fuer die Anwendungsentwicklung im allgemeinen und von Client/Server-Anwendungen ... im speziellen."
Gruss
Uwe