Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
850 Beiträge
 
Delphi 11 Alexandria
 
#1

Wie Klassen (keine Instanz!) als Variable übergegben?

  Alt 22. Jan 2008, 18:43
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...
  Mit Zitat antworten Zitat