C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 23 を表示中)
■10310 / )  Re[5]: 【C#】DllImportで指定した関数が使えるかどうか
□投稿者/ まひろ (3回)-(2007/11/15(Thu) 13:30:06)
> >>事後でよければ、DLL 関数を呼び出した時に例外(名称忘れました。ヘルプ他で調べてください)
> >>が発生するので、それを catch して後処理する、とかです。
>
> で駄目な理由を教えてもらえませんか?

処理速度も要求されていますし、
DllImportしたい関数が多く、毎回例外をcatchするよりも
いいかなと考えているためです。

Dllがロードできるかどうかによって、
生成するインスタンスを変えようと思っています。

LoadLibraryで試したところ、うまくいきそうです。

interface IA
{
void DllFuncCall();
}

class A : IA
{
public void DllFuncCall()
{
}
}

class AImpl : IA
{
[DllImport("hoge.dll", ・・・)]
private static extern void DllFunc();

public void DllFuncCall()
{
DllFunc();
}
}

IA GetIA()
{
if (LoadLibrary("hoge.dll") != IntPtr.Zero)
return new AImpl;
else
return new A;
}

返信 編集キー/


管理者用

- Child Tree -