Я попытался использовать DLL-файл ETABS в MATLAB. В документации объясняется, как использовать файл dll на языках .net. Меняя код, я могу использовать его в matlab, но есть некоторая ошибка.Использование .net-интерфейса в matlab
Мой код:
asm = NET.addAssembly('C:\Program Files\Computers and Structures\ETABS 2013\ETABS2013.dll')
ETABSAssembly = System.Reflection.Assembly.LoadFrom('C:\Program Files\Computers and Structures\ETABS 2013\ETABS.exe')
ETABSObject = ETABSAssembly.CreateInstance('CSI.ETABS.API.ETABSObject')
и выход для последней строки:
ETABSObject =
CSI.ETABS.API.ETABSObject handle with no properties.
Package: CSI.ETABS.API
Methods, Events, Superclasses
Superclasses for class CSI.ETABS.API.ETABSObject:
System.MarshalByRefObject
System.Object
handle
ETABS2013.cOAPI
после этого я должен преобразовать объект ETABS2013.cOAPI
который является абстрактным классом, с помощью оператора произнесения следующим образом:
a = cast(ETABSObject,ETABS2013.cOAPI)
Но я получаю следующее сообщение об ошибке:
??? Error using ==> ETABS2013.cOAPI
Creating an instance of the Abstract class 'ETABS2013.cOAPI' is not allowed.
Как преобразовать объект Etabs в cOAPI?