Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Eingeschränkte Generics (Bug?)

  Alt 14. Mai 2010, 16:09
Hallo,

Wollte mich mal melden um Bescheid zu sagen, dass ichs geschafft habe. Zuerst habe ich statt des Interfaces eine abstrakte Klasse genommen. Problem war dann aber immernoch:

Delphi-Quellcode:
function TIDObjectList<T>.GetItem(Index: Integer): T;
begin
  Result := inherited Items[Index];
end;
Hier wurde dann im konkreten Fall einem TTest ein TIDObject (entspricht IIDObject) zugewiesen. Was natürlich nicht geht und der blöde (= schlaue) Compiler leider gemerkt hat. Casten a la:

Result := T(inherited Items[Index]); funktioniert mit diesen generischen Dingern leider nicht. Dann habe ich.. sagen wir.. manuell gecastet

Delphi-Quellcode:
function TIDObjectList<T>.GetItem(Index: Integer): T;
var tmp: Pointer;
begin
  tmp := inherited Items[Index];
  Move(tmp,Result,SizeOf(Pointer));
end;
Und jetzt funktioniert es
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat