Hallo,
in einer Klasse möchte ich Unterobjekte zwar in einer generischen Liste verwalten, über die published Schnittstelle (für Übertragung via
SOAP) aber auch als array of (bzw. einen eigens definierten Typ) anbieten:
Delphi-Quellcode:
type
TMyType = class(TRemotable)
//irgendwas
end;
TMyTypes = array of TMyType;
TParentType = class(TRemotable)
private
FData: TList<TMyType>;
public
property Data: TList<TMyType> read FData;
published
property DataTransfer: TMyTypes read GetData write SetData;
end;
Wenn ich jetzt in der Funktion GetData versuche, FData.ToArray() zurückzugeben, meckert der Compiler, dass die Typen TMyTypes und System.TArray<TMyType> inkompatibel seien.
In der System ist aber
TArray<T> = array of T
, also auch wieder array of TMyType definiert.
Jetzt stehe ich glaube ich etwas auf dem Schlauch: Das sind doch beides dynamische Arrays?
Generics über
SOAP macht ja zum einen Probleme (
http://www.delphipraxis.net/150579-g...eber-soap.html), zum anderen hab ch mal gelernt, dass nur generische Typen oder TRemotable-Kinder verwendet werden sollen/dürfen.
Gibt es hier eine schönere/elegantere Lösung als das Ergebnis manuell mit Setlength und for-Schleife zu befüllen?