Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

Generics in FPC 2.6: Compiler bricht einfach ab

  Alt 23. Feb 2013, 01:07
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
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat