初めての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修正 ->リビルド
のサイクルを繰り返すことになります。