Hallo Gernot,
das SafeArray ist die Bezeichnung für eine Feldvariable, die in ein Variant "verpackt" worden ist um die Parameter bzw. Ergebnisse übergeben zu können. Du deklarierst also deinen Rückgabewert einfach als Variant und bekommst dann z.B. ein Feld zurück, dass du entsprechend der Beschreibung der API Funktion auswerten kannst.
Bei deinem Beispiel GetDimensionDisplayInfo4 bekommst du ein Feld von Doubles zurück, die du einfach abklappern kannst. Wenn du also z.B. deinen Rückgabewert mit
Dim DimDispInfo as Variant
deklariert hast kannst du dann mit
DimDispInfo(0), DimDispInfo(1) ... usw. die Werte abfragen. In der API Beschreibung steht dann, was in welchem Parameter zurückgegeben wird. Im Beispiel steht also dann in DimDispInfo(0) die Anzahl der Bemaßungen, und dann für jede Bemaßung erst die Anzahl der Linien etc (also DimDispInfo(1) = Anzahl Linien für diese Bemaßung).
Da mußt du dich dann durchknispeln, das Aufdröseln des Feldes von GetDimensionDisplayInfo4 sind wirklich ziemlich komplex.
In der API Hilfe steht im Bereich "Programmers guide / Programming topics with SolidWorks API" noch einiges zu SafeArrays und deren Übergabe, am besten mal in einer ruhigen Minute durchlesen
Ciao,
Stefan
------------------
Inoffizielle deutsche SolidWorks Hilfeseite
http://solidworks.cad.de
[Diese Nachricht wurde von StefanBerlitz am 07. Februar 2003 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP