Hallo,
wie kann ich an eine Funktion eine Klasse übergeben? Ich möchte keine Instanz einer Klasse übergeben, sondern die Klasse selbst um in einer Liste zu suche, ob diese Liste ein Objekt einer bestimmten Klasse enthält (mit dem is-Operator):
Delphi-Quellcode:
TOberklasse = class(TOject)
...
TKlasseX = class(TOberklasse)
...
TKlasseY = class(TOberklasse)
...
function TFoo.IndexOfClass(AClass: XXXXX <-- Was kommt hier hin?): Integer;
var
i: Integer;
begin
Result := -1;
for i := 0 to Count - 1 do
if Items[i] is AClass then
begin
Result := i;
Break;
end
end;
Aufruf:
AFoo.IndexOfClass(
TKlasseX)
oder
AFoo.IndexOfClass(
TKlasseY)
Um es vorwegzunehmen: Wenn an der Stelle XXXX TOberklasse steht, meckert der Compiler, weil er dann ja eine Inszanz einer Klasse haben möchte...