mqsdx  300.0.1
MQPluginSDK Extention Library / mqsdkをC++またはCLI(.Net)拡張するサポートライブラリ。
 全て クラス 関数 変数 プロパティ グループ ページ
MQ0xのインストール
1.ソリューションを変換する
MQSDKをダウンロードしてきて、VC2010でソリューション(*.sln)を開くと2010形式に変換されます。 なおいくつかの子プロジェクトは2010コンパイルに失敗するようなので、深く考えずソリューションから削除してしまいます。
2.MQ0xをプロジェクトに追加
フォルダ"mqsdx"配下のファイルをすべてそのままプロジェクトフォルダにコピーして、mqsdx内の各ファイルをプロジェクトに追加して下さい。
mqsdxを使用するソースコードで"mqsdx/MQ0x.hpp"をインクルードして下さい。
#include "mqsdx/MQ0x.hpp"
もしmqsdxだけを使用するなら、付属のMQCLIのファイルはコピーする必要はありませんが一緒にコピーしてしまって構いません。 MQCLIの有効/無効はVisualStudioのプロジェクト設定(CLR有効/無効)で自動的に判別されます。
MQ0xの使い道

MQ0xの目玉としてPluginBaseテンプレートクラスがあります。このクラスはコンストラクタで製造者名、プラグイン名、表示名を指定する事で以下の実装を自動化します。

  • GetPlugInID()
  • GetPlugInName()
  • EnumString()
  • MQSetting::Open()およびClose()
PluginBase<MQCommandPlugin> plugin("tiritomato", "SamplePlugin Copyright(C) 2013, tiritomato.", "SamplePlugin");
{
SettingProxy setting( plugin.Setting );
setting.Load(...);
setting.Save(...);
setting.Close(); // このClose()はSettingProxyのデストラクタに任せる事も出来ます。
}

ID決定の自動化には文字列のハッシュコードが採用されています。このハッシュコードは典型的に 「ハッシュコード = ハッシュコード * (入力型(文字列の場合char型)ビットサイズ-1) ^ 配列要素」 という計算を配列要素の個数だけ繰り返すロジックが採用されています。 このテンプレートクラスで最終的にラップするのか、このテンプレートクラスをベースクラスにして継承して拡張するのかは自由です。

またMQ0xはこの他にも、オブジェクト検索など基本的な拡張機能を提供します。

リファレンス
inserted by FC2 system