Sichere Arrays
Nach oben zu Verwenden der Delphi- oder RIDL-Syntax
COM verlangt, dass Arrays mittels eines speziellen Datentyps, nämlich als SafeArray, übergeben werden. Um das zu erreichen, können Sie SafeArrays durch den Aufruf bestimmter COM-Funktionen erstellen und wieder freigeben. Sämtliche Elemente eines SafeArrays müssen gültige automatisierungskompatible Typen sein. Der Delphi-Compiler ist in der Lage, SafeArrays von COM zu identifizieren, und ruft automatisch die COM API auf, um SafeArrays zu erstellen, zu kopieren und wieder freizugeben.
Delphi:
procedure HighLightLines(Lines: PSafeArray);
C++:
HRESULT STDMETHODCALLTYPE HighlightLines(LPSAFEARRAY Lines)
Im Typbibliothekseditor muss für ein SafeArray der Elementtyp angegeben werden. Für das folgende SafeArray ist beispielsweise der Elementtyp Integer angegeben:
HRESULT _stdcall HighlightLines(SAFEARRAY(long) Lines);
Hinweis: Obwohl Sie den Elementtyp angeben müssen, wenn Sie einen SafeArray-Typ im Typbibliothekseditor deklarieren, geht aus der Deklaration in der generierten _TLB-Unit der Elementtyp nicht hervor.