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

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

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

Re[4]: C#でアンマネージのDLLライブラリを使用する時


(過去ログ 82 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■48471 / inTopicNo.1)  C#でアンマネージのDLLライブラリを使用する時
  
□投稿者/ キーサン (1回)-(2010/04/07(Wed) 13:58:35)

分類:[.NET 全般] 

開発環境はVisual C# 2008 Expressです。

当方、ほとんどC++しか知らず、C#は勉強中というところです。

とあるパソコン用ボードを使用しようと思い、対応環境を見ると
VB2005がありました。
VB2005に対応できるのなら、C#でもいけるんだろうと購入をしたところ
ついていたのがアンマネージなDLLで、mdfunc.vbというファイルがついていて
それを[プロジェクト]−[既存項目の追加]で追加して下さい
と書いてありました。

そのmdfunc.vbの中身は、
 
Module MDFUNC32
Declare Function mdOpen Lib "MDFUNC32.dll" Alias "mdopen" (ByVal Chan As Short, ByVal Mode As Short, ByRef Path As Integer) As Short
Declare Function mdClose Lib "MDFUNC32.DLL" Alias "mdclose" (ByVal Path As Integer) As Short
  ・
  ・(中略)

Public Const DevX As Short = 1
Public Const DevLX1 As Short = 1001
Public Const DevLX2 As Short = 1002
Public Const DevLX3 As Short = 1003
  ・
  ・(中略 2000個程度あります)

End Module

というものでした。
Declare Function mdClose Lib "MDFUNC32.DLL" Alias "mdclose" (ByVal Path As Integer) As Short
は、これを使用するクラスの中で、
[DllImport("MDFUNC32.dll")] public static extern short mdclose(int Path);
とでも書けばいいのかなと考えています。

しかしながら、こんなことを毎回書くのは億劫なので、C++で言うところのヘッダファイルみたいなのを
作りたいと考えました。
こういう場合は、C#ではどのように実現するのでしょうか。

どなたか、よろしくお願いします。

引用返信 編集キー/
■48473 / inTopicNo.2)  Re[1]: C#でアンマネージのDLLライブラリを使用する時
□投稿者/ aetos (265回)-(2010/04/07(Wed) 14:09:50)
No48471 (キーサン さん) に返信

[DllImport("MDFUNC32.dll")] public static extern short mdclose(int Path);

というような内容を書いた mdfunc.cs を作っておいて、そのライブラリを使うアプリで使いまわせばよいのでは?
引用返信 編集キー/
■48474 / inTopicNo.3)  Re[2]: C#でアンマネージのDLLライブラリを使用する時
□投稿者/ キーサン (3回)-(2010/04/07(Wed) 14:15:20)
ありがとうございます。

なるほど。
このDLLを読み出すだけのクラスを作って、mdfunc.csに入れておいて
それを使い回せばいいのかもしれませんね。

それでやってみます〜
引用返信 編集キー/
■48480 / inTopicNo.4)  Re[3]: C#でアンマネージのDLLライブラリを使用する時
□投稿者/ aetos (267回)-(2010/04/07(Wed) 15:39:29)
No48474 (キーサン さん) に返信
> ありがとうございます。
>
> なるほど。
> このDLLを読み出すだけのクラスを作って、mdfunc.csに入れておいて
> それを使い回せばいいのかもしれませんね。
>
> それでやってみます〜

読みだすだけのクラスというか、mdfunc.vb をそのまま C# に書き換えただけのファイルというか。
引用返信 編集キー/
■48508 / inTopicNo.5)  Re[4]: C#でアンマネージのDLLライブラリを使用する時
□投稿者/ ちゃっぴ (2回)-(2010/04/08(Thu) 01:03:09)
ちゃっぴ さんの Web サイト
個人的には C++/CLI で wrapper 作る方が好みですね。
速いし、扱う側 skill いらないし。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -