Ich habe eine Prozedur, die einen Parameter vom Typ TObject, so etwas wie dies erwartet:Delphi: Pass TObject in Array von Varianten
MyProcedure (const AValue : TObject);
ich ein Array von Variant haben, dass ich Schleife durch die Prozedur aufzurufen , so etwas wie dieses:
for i:=0 to High(myArray) do
MyProcedure (myArray[i]);
Der Compiler gibt eine Fehlermeldung, "Inkompatible Typen: TObject und Variant".
Was kann ich tun, um dies zu umgehen?
Weitere Informationen: Bis jetzt habe ich einfache Typen (Strings, Zahlen, Datumsangaben) in Variantenarrays übergeben (die Arrays sind typischerweise eine Mischung aus verschiedenen Typen - ich übergebe sie schließlich als Parameter an eine gespeicherte Datenbankprozedur). Jetzt muss ich (in bestimmten Fällen) auch ein TObject übergeben.
Welcher Datentyp/Struktur ist am besten geeignet, um die Werte zu übergeben, die sowohl einfache Typen als auch Objekte enthalten können? Ich denke, ich könnte meinen eigenen TParam-Typ erstellen, der ein Feld für beide hat, aber ich bin mir nicht sicher über die genaue Syntax. Hat jemand ein Beispiel dafür?
Verwandte: http://StackOverflow.com/Questions/366329/Why-Cant-delphi-Variants-Hold-Objects –