... es eine generische Methode ist.
Ich will nicht wissen wie viele solcher Stellen ich bereits überall im Code habe. Auf XE7,
Win32 und Win64 gibt es keine Warnungen mit folgendem Code:
Delphi-Quellcode:
program Project22;
type
{$DEFINE GENERIC}
TSomeClass = class
public function someFunc{$IFDEF GENERIC}<T>{$ENDIF}(): Boolean;
end;
function TSomeClass.someFunc{$IFDEF GENERIC}<T>{$ENDIF}(): Boolean;
begin
// Nope
end;
begin
WriteLn( TSomeClass.Create().someFunc{$IFDEF GENERIC}<TObject>{$ENDIF}() );
end.
Ich sehe ein dass manche Typen die T annehmen kann (String, Interface, ...) nicht uninitialisiert sein können. Aber selbst wenn ich den Typ auf ": class" einschränke kommt keine Warnung.
Habe ich einen Denkfehler oder ist das eine weitere Delphi-Eigenheit™ ?
// Edit:
Ich merke grade, eigentlich warnt er in einer generischen Methode vor so ziemlich gar nichts. Also schon fast Blindflug. Delphi ist halt nur was für Profis.