1

MATLAB で ETABS dll ファイルを使用しようとしました。ドキュメントには、.net 言語で dll ファイルを使用する方法が説明されています。コードを変更することで、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 に変換する方法は?

4

1 に答える 1

0

キャストはあなたがやろうとしていることをしないと思います。組み込みのデータ型でのみ機能します。

ETABS2013.cOAPIまた、どんなテクニックでもキャストできるとは思いません。抽象クラスは抽象です。そのタイプのオブジェクトを持つことはできません。

于 2013-09-16T20:36:59.867 に答える