Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.145 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Fehler bei SafeArry Destroy - Wer kann helfen...

  Alt 13. Apr 2006, 09:51
Halo nochmal...

Das Problem stellt sich noch besser/schlechter da...

Delphi-Quellcode:
procedure TMainform.SpeedButton14Click(Sender: TObject);
var
  ValOut : OLEVariant;
  Val : PSafeArray;
  sBuffer: WideString;
  T : TVarType;
  i,
  iMin,
  iMax: integer;
begin
  Combobox1.Items.Clear;
  TVariantArg(ValOUT).VT := VT_BYREF or VT_ARRAY;
  TVariantArg(ValOUT).ppArray := nil;
  TargetCommando(2233,EmptyParam,ValOut); // IDM_GETBLOCKFMTS
  Val := PSafeArray(TVariantArg(ValOUT).ppArray);

   // Die Anzahl der Elemente im Array bestimmen
  ActiveX.SafeArrayGetLBound(Val, 1, iMin);
  ActiveX.SafeArrayGetUBound(Val, 1, iMax);

  // Die einzelnen Strings auslesen
  for i := iMin to iMax do
    begin
      ActiveX.SafeArrayGetElement(Val, i, sBuffer);
      Combobox1.Items.Add(SBuffer);
    end;

   Caption := 'Cool'; // <- Auch hier gibt es den gleichen Fehler...

   // Vorsicht, Leak...
//a-> ActiveX.SafeArrayDestroyData(Val); // EVariantBadVarTypeError
//b-> ActiveX.SafeArrayDestroy(Val); // EVariantBadVarTypeError
end;


jetzt verstehe ich gar nix mehr....

Hat den keiner eine Idee?

Frank
  Mit Zitat antworten Zitat