Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

Re: Überprüfung ob Objekt eine generische Liste ist

  Alt 16. Apr 2010, 11:42
Es geht leider nicht, daß man den "Typen" (falls Delphi ihn schon als Typen ansieht) auf das Generische Objekt erreichen/abfragen kann.

if test is TObjectList<T: class> then
ShowMessage('compiliert nichtmal!');

TObjectList<TObjekt> ist eine Ableitung von TObjectList<>
und TObjectList<TButton> ist auch eine Ableitung.
Es sind also Geschwister und keine Nachfahren, darum kann man diese Beiden auch nicht vergleichen.
Siehe:
Delphi-Quellcode:
type
  TMyObjectA = Class(TObject)
  End;
  TMyObjectB = Class(TMyObjectA)
  End;
  TMyObjectC = Class(TObject)
  End;
var
 X: TMyObjectC;

if X is TObjectA then
  ShowMessage('compiliert nichtmal!');
Zitat:
[DCC Fehler] Project3.dpr(20): E2010 Inkompatible Typen: 'TMyObjectA' und 'TMyObjectC'
Hier mal die Abstammung von

Code:
TObjectList<TButton> :
TObjectList<StdCtrls.TButton> TList<StdCtrls.TButton> TEnumerable<StdCtrls.TButton> TObject

TObjectList<TObject> :
TObjectList<System.TObject>  TList<System.TObject>  TEnumerable<System.TObject>  TObject
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat