初めてのDLL(1)/環境準備篇

MQL4 で、ある程度自由にプログラムが組める人は、実は、僅かな知識だけで、DLL作成まで可能です。DLLが作れるようになると、MQL4では処理が遅いコードをDLLのなかで計算させたり、他人に見られたくない部分をDLL内に隠したりすることができます。本格的に作るには、書籍等で勉強する必要がありますが、その前に雰囲気だけでも知っておけば、理解しやすいと思うので、簡単に紹介します。


DLL作成には、C言語の開発環境(コンパイラ)が必要です。私自身は開発者向けに販売されているVisual Stuido 2005を使用していますが、お試しでDLLを作りたい人には高価なので、無料のVisual C++ 2008 Express Edition をお勧めします。
(先月、Visual C++ 2010 Express もリリースされているのですが、まだ実績が少ないので古い方を使います..。2010 ではプロジェクトの変換に失敗するので、手作業でプロジェクトを作る必要があってややこしいのです..^^;;;


(続きは、画像が多くて重いので..ホントに興味のある人だけどうぞ..orz


インストール

(1) マイクロソフトのHPからダウンロードします。
http://www.microsoft.com/japan/msdn/vstudio/express/
にアクセスして…一番下の「過去のバージョン」にアクセスします。

(2) Visual C++ 2008 Express のWebインストールをクリックします。

(3) ダウンロード後、インストールを開始します。とても時間が掛かります..。


↑フィードバックは…不要です。


RSSコンテンツは要らない。

SQL Server も必要無いのでチェックを外します。


Webからダウンロードして、何度か再起動される場合があるので、お茶でも飲みながら気長に待ちましょう..。


コンパイル

インストールが完了したら、ソースコードは編集せずにコンパイルだけを試します。
(4) experts\samples\DLLSample 内の ExpertSample.dsw をダブルクリックします。

(5) いきなりライセンス登録画面が出たら、「今すぐ登録」で、キーを取得してください。

(6) dswファイルは古いVisualC++のファイルなので変換が必要になります。
「すべてはい」を選んでください。


(7) 起動が完了したら、何も手を加えずにコンパイルできるか確認します。
Debug を Release に変更してください。

(8) ソリューションのビルドを選んでください。コンパイルが実行されます。

↓ビルドに成功するとこんなメッセージが出ます。

↓DLLSample内に Release フォルダが作成され、その中に ExpertSample.dll が出来上がります。

出力ファイル名を変える

(9) 初心者は1つのプロジェクトを使いまわすと思うので、コンパイルで作成されるDLLのファイル名を変更します。
↓ExpertSample を選びます。

↓この状態でプロジェクトのプロパティを開きます。

↓構成プロパティ内のリンカの全般にある出力ファイル のDLL名を変えます。

(10)ついでに、ビルド後に完成したDLL を MetaTrader の libraries フォルダにコピーするように設定します。
↓ ビルド後のイベントを選んで COPY "$(TargetPath)" ..\..\libraries と入力します。


(11) この状態でソリューションのリビルド(再ビルド)を行います。

↓以下のようなメッセージが出ます。

↓ experts\libraries フォルダを見ると、新しく名前をつけた MySample.dll がコピーされているのが分かります。

実際の開発では、リビルド -> MT4 起動 -> 動作確認 -> MT4 終了 ->DLL修正 ->リビルド
のサイクルを繰り返すことになります。

終わりに..

冒頭のプロジェクトの変換で ExpertSample.dsp,dsw は不要になったので削除します。

↓次回起動時は、ExpertSample.sln をダブルクリックすればOKです。



Visual C++ 2008 自体の機能は複雑怪奇ですが、DLLを作るのに必要な「操作」はこれだけなので、簡単ですよね?(無理・・・?^^;
次回は、ExpertSample.cppと ExpertSample.def ファイルの内容を説明したいと思います。
そんじゃ〜ね。