Typ generyczny — jak utworzyć nowy obiekt z poziomu samego obiektu?

0

Witam Was,

Chciałem zmniejszyć swój kod o kilka lini i wpadłem na taki pomysł:

TRafloProc<T: class> = class(TObjectList<T>);
(...)

function TRafloProc<T>.DataIfNotCreate(SQLId: integer): T;
var
  itemT : T;
begin
  itemT := Data(SQLId); //Szuka czy już taki istnieje   {np.  Result := Self[5];  }
  if not Assigned(itemT) then
  begin
    itemT := T(TObject(T).Create);  //Tutaj wywala błąd AV
    Self.Add(itemT);
  end;
end;

Czy jest możliwe takie rozwiązanie?

Ten przykład daje mi błąd AV na próbie tworzenia obiektu

2

Hasło: "delphi create generic object"
Wynik:
https://stackoverflow.com/a/8400729

0

@vpiotr: Bardzo Tobie dziękuję!

1 użytkowników online, w tym zalogowanych: 0, gości: 1