Какой тип данных соответствует ссылке (exampe C# ref par
object par = new Object[] { "" };
Obj.GetMnParam(ref par, OBP_VALUES);
)
На JavaScript
var arrParam = new Array();
Obj.GetMnParam(arrParam, OBP_VALUES); // Получаем значения параметров
в AutoLispe?
Реализация на AutoLIspe:
Импортирую typelibrary
(vlax-Import-Type-Library :tlb-filename file :methods-prefix "sm-" :properties-prefix "sp-" :constants-prefix "sc-")
(setq refpar (vlax-make-variant (vlax-make-safearray vlax-vbObject (cons 0 0))))
(defun ak_list->variantArray0 (ptsList)
(vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbvariant; element type
(cons 0 ;from
(- (length ptsList) 1) ;to
) ; array dimension
)
(mapcar 'vlax-make-variant ptsList)
);fill
)
)
(setq refpar (ak_list->variantArray0 '("")))
Ни этот (sm-GetMnParam obj refpar OBP_VALUES);
Ни этот вызов не работает (sm-GetMnParam obj 'refpar OBP_VALUES);
Зато передача по значению срабатывает :
(setq lPtsArray (ak_list->variantArray0 lPts)) ; // получить массив координат
(if PL (sm-AddPoints PL lPtsArray))
Есть ли возможность реализовать в Autolispe вызов типа данных ref ? Как обойти эту проблему?