Einzelnen Beitrag anzeigen

Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Beliebiges Array übergeben

  Alt 21. Sep 2012, 19:31
Delphi-Quellcode:
type
  PMeinArray = ^TMeinArray;
  TMeinArray = array of TPersistent;

{ Variante 1 }

function MeineTolleFunktion(const Parameter: PMeinArray): Boolean; overload;
begin
  Result := False;
end;

{ Variante 2 }

function MeineTolleFunktion(const Parameter: TMeinArray): Boolean; overload;
begin
  Result := False;
end;

function MeineTolleFunktion(const Parameter: TMeinArray1): Boolean; inline; overload;
var
  P: TMeinArray absolute Parameter;
begin
  Result := MeineTolleFunktion(P);
end;

var
  MeinArray1: TMeinArray1;

begin
  MeineTolleFunktion(@MeinArray1); // Variante 1
  MeineTolleFunktion(MeinArray1); // Variante 2
end.
Ich würde Variante 2 nehmen, oder von TList ableiten (Variante 3):
Delphi-Quellcode:
{ Variante 3}
type
  TPersistentList = class(TList) // ggf. von TObjectList ableiten
    // Typsicherheit herstellen für TPersistent
  end;

  TMeinObjekt1List = class(TPersistentList)
    // Typsicherheit herstellen für TMeinObjekt1
  end;

function MeineTolleFunktion(const Parameter: TPersistentList): Boolean; overload;
begin
  Result := False;
end;
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat