Hallo,
zur Hilfe für andere, die dieses Problem haben hier die funktionierende Lösung die ich unter tatkräfiger mithilfe von Andreas Kosch (Autor -
DCOM/
Com mit Delphi) gefunden habe:
Das Hauptproblem für mich war, dass das psavearray kein array sondern nur einen Zeiger auf das eigentliche Array enthält
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
pSA : PSafeArray;
i : Integer;
swValue : single;
iDim : Integer;
iLBound : Integer;
iUBound : Integer;
begin
pSA := nil;
// Verbindung zur Typbibliothek
iquotes:= coMLquotes.Create; // 2. coclasse definieren
iquotes.DownloadQuotes('SUNW',20041013,20050114,d);
// PSaveArray Zeiger holen
iquotes.Get_adOpen(pSa);
iDim := SafeArrayGetDim(pSA);
if iDim = 1 then
begin
SafeArrayGetLBound(pSA, 1, iLBound);
SafeArrayGetUBound(pSA, 1, iUBound);
for i := iLBound to iUBound do
begin
SafeArrayGetElement(pSA, i, swValue);
ListBox1.Items.Add(floattostrf(swValue,fffixed,4,2));
end;
ListBox1.Items.Add('------------');
end;
SafeArrayDestroy(pSA);
end;