Nabend,
Hatte überlegt im weiteren verlauf der Entwicklung meines D16Pascal-SDKs zumindest den Compiler crossplattform als commandozeilentool zur verfügung zu stellen.
Dafür dachte ich an FreePascal. Und weil ich jede menge Generics(Meist TObjectList<T>) benutze, wollte ich dem ganzen hier gleich mal auf den Zahn fühlen. Und da stellt sich der Compiler gerade als ser ungesprächig raus und rennt einfach heulend weg
Folgender Source:
Delphi-Quellcode:
unit GenericTest;
{$MODE DELPHI}
interface
uses
Classes, SysUtils;
type
{ TFoo }
TFoo<_T> =
class
private
public
procedure Test();
end;
implementation
{ TFoo<_T> }
procedure TFoo<_T>.Test;
begin
end;
end.
Delphi-Quellcode:
unit Main;
{$MODE DELPHI}
{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses
GenericTest;
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
LVar: TFoo<TObject>;
begin
end;
end.
Da bekomme ich nur "Main.pas(1,1): Compilation Aborted"
Nehme ich die methode Test aus TFoo wieder raus compilierts. Das verstehe ich gerade nicht o.O