Einzelnen Beitrag anzeigen

Berni68

Registriert seit: 9. Jan 2006
Ort: Villingen
162 Beiträge
 
Delphi XE5 Professional
 
#1

OleVariant PSafeArray

  Alt 5. Jan 2022, 14:32
Hallo,

in einer Typbibliothek ist folgende Funktion definiert:
Delphi-Quellcode:
// *********************************************************************//
// DispIntf: ModelState
// Flags: (4096) Dispatchable
// GUID: {B0D75815-A121-4964-BE90-7B8C0422C2DD}
// *********************************************************************//
  ModelState = dispinterface
    ['{B0D75815-A121-4964-BE90-7B8C0422C2DD}']
    ...
    procedure GetReferenceKey(var ReferenceKey: {NOT_OLEAUTO(PSafeArray)}OleVariant;
                              KeyContext: Integer); dispid 2130706454;
    ...
  end;
Damit will ich die Funktion aufrufen:
Delphi-Quellcode:
...
var
  test: OleVariant;

begin
  ...
  MS.Item[i].Name // <- funktioniert
  ...
  test:= VarArrayCreate([0,1000],varByte);
  MS.Item[i].GetReferenceKey(test); // <- funktioniert NICHT
  ...
Der Aufruf der Prozedur scheitert. ich erhalte bei der Zeile "MS.Item[i].GetReferenceKey(test)" die Fehlermeldung Typenkonflikt.

bedeutet wohl daß
VarArrayCreate([0,1000],varByte)
falsch ist.
Aber wie muß das definiert werden?
Wie erzeuge ich hier ein PSafeArray ?
Bernhard

Geändert von Berni68 ( 5. Jan 2022 um 14:43 Uhr)
  Mit Zitat antworten Zitat