|
いいじまです。
> いろいろと検討してみた結果、C#での開発を考えています。
> 試しに下記リンクを参照して、C#で、DLLをコンパイルしてみたのですが、
> それぞれのメソッドをdllfuncで呼びだそうとしても上手く呼び出せません。
>
> http://msdn.microsoft.com/ja-jp/library/3707x96z(v=vs.90).aspx
>
> dllfuncのところは以下の様に記述しています。
>
> #n = dllfunc ("AddClass.Add", 2, 3);
クラスのメソッドをそのままの名前で呼び出すことは無理と考えてください。
まず、現在の32bit版Windowsの開発には、「Win32」という方式と、
「.NET」という方式があります。
前者はWindows3.1の16bitアプリからの流れをくむもので、Excelの
マクロなどからWindowsの機能を呼び出す場合もこの方式になります。
一方で後者は、近年になってWindows XP以降用に開発されたもので、
C#はこちらの流儀のアプリしか書けません。.NETのアプリから
Win32のDLLを呼び出す場合にはそのものずばりWin32というクラスが
ありますが、逆はどうも見当たらないようです。
(秀丸はWin32アプリです。)
個人的には、C# がベストである理由が見当たりません。
C++を使えばstring、vector、classといった機能は一通り使えますし、
Windows以外にも使いまわしがききます。
同じモジュールを使うプログラムを C# なり VB.NET なりで書くので
あっても、C/C++で書いたDLLを呼び出すことはできるはずです。
あとは、extern "C"、__cdecl、__pascal という3つのキーワード
について調べておいてください。
|
|