Hallo Zusammen...
Folgene Routinen liefert leider immer einen Fehler
"EVariantBadVarTypeError"
Wer hat eine Idee?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| 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); Val := PSafeArray(TVariantArg(ValOUT).ppArray);
ActiveX.SafeArrayGetLBound(Val, 1, iMin); ActiveX.SafeArrayGetUBound(Val, 1, iMax);
for i := iMin to iMax do begin ActiveX.SafeArrayGetElement(Val, i, sBuffer); Combobox1.Items.Add(SBuffer); end; a-> ActiveX.SafeArrayDestroyData(Val); b-> ActiveX.SafeArrayDestroy(Val); end; |
Sowohl Lösung a als auch b...
Die Exception kommt jedoch auch, wenn ich die Destroy's weglasse.
Danke im voraus
Frank
PS.: Die Anleitung zu diesem Kommando gibt es unter:
msdn.microsoft.com/l.../getblockformats.asp