SSブログ
サイト移しました 書いてた記事も結構移してます こちらからどうぞ







C#2010でVC++2010で作ったDLLを使う-その2- [備忘録]



スポンサードリンク





こんにちは菊月です。

今回は前回の記事の続きを書いていきます。
http://umengine.blog.so-net.ne.jp/2014-08-31

今回はC#側のプログラムを書いていきます。


Part1
http://umengine.blog.so-net.ne.jp/2014-08-31

Part3
http://umengine.blog.so-net.ne.jp/2014-09-12

(1) C#を開き,新しいプロジェクトを選択。
(3) 「Windowsフォームアプリケーション」を選択し、適当な名前を付ける。
    ここでは”DllTestCsharp”とした。
(3) 作成したDLLファイル(ここでは前回作成した”DllTestFile.dll”)を、
    C#プロジェクトファイル内の実行ファイル内にコピーする必要がある。
    ここでは「DllTestCsharp」→「bin」→「Debug」へコピーする。
(4) 「ツールボックス」より、ボタン(button)を選択し、「Form1」画面内の適当な場所に配置する。
    
    キャプチャ14.JPG
    図1
    
(5) 図1で、配置したボタンをダブルクリックすると図2のような画面が現れる。
    ここではプログラムを図3のように変更する。

    キャプチャ15.JPG
    図2

    キャプチャ16.JPG
    図3
    

(6) 「デバッグ」→「デバッグの開始」、もしくはF5キーでデッバグを行うとプログラムが実行される。
    実行するとアプリケーションの画面が現れる。
(7) フォームアプリケーションの実行画面内のボタンをクリックする。
    これによりプロジェクトの実行ファイル内に”Test.txt”が作成される。
    また、中身が”DLL file test\n”となっているか確認する。
    因に、”\n”は改行を表すため,表示はされないので注意

    キャプチャ18.JPG
    図4


次回はDLL内で関数が増えた場合についてお話しします。


前の記事はこちら
http://umengine.blog.so-net.ne.jp/2014-08-31


プログラムのテキスト版
必要があればコピーして使ってください


・Form1.cs (DllTestCsharpのソースファイル)
-------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//これを追加することでDLLのインポートができる
using System.Runtime.InteropServices;

namespace DllTestCsharp{
public partial class Form1 : Form
{
//この2行で作成したDLLの取り込みと使用する関数の指定ができる。
[DllImport("DllTestFile.dll")]
public static extern int FileWrite();

public Form1()
{
InitializeComponent();
}
//ボタン1がクリックされたとき
private void button1_Click (object sender, EventArgs e)
{
//DLLで作成した関数"FileWrtie"
FileWrite();
}
}
}

-------------------------------------------------------------------------------


スポンサードリンク



nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました




QLOOKアクセス解析

  
  
  
  

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。