SyntaxHighlighter

2013年2月8日金曜日

FileMaker プラグインを作る準備!|Visual Studio 2012 Express

FileMaker プラグインを作る準備!|Visual Studio 2012 Express|OS:Windows


「VisualStudio 2010」は、C++のIntellisenseが機能しなくてものすごく不便!
「Visual Studio 2012」では、C++のIntellisenseが復活している!

乗り換えていこうかなぁ!というころで、

「Microsoft Visual Studio 2012 Express」で試しておこう!


まずは、以下からテンプレートをダウンロード
24U Plug-In Template 3.1 : http://www.24usoftware.com/PlugInTemplate


24U Plug-In Template 3.1\Projects\VisualStudio 2010の中、
「VisualStudio 2010」内の"PlugInTemplate.vcxproj"を「VisualStudio 2012」用に変換します。

「VisualStudio 2012」で

「Visual Studio 変換ウィザード」で変換してくれます。

テスト Debugモード で
「ビルド->ソリューションのビルド」を行います。

「出力」ウインドウに以下の様に表示されビルドが完了します。

========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========

以下に出力されています。
24U Plug-In Template 3.1\Output\FMPluginDebug.fmx

「警告 1」が出ていると思います。

解決策:
以下ファイルの「sprintf」を「sprintf_s」に変更


24U Plug-In Template 3.0\Sources\FMPluginVersion.cpp //ファイル
117行
修正前:
sprintf(auChars, "%02d%02d%02d00", PLUGIN_VERSION_MAJOR,.....
修正後:
sprintf_s(auChars, "%02d%02d%02d00", PLUGIN_VERSION_MAJOR, .....


Releaseモードで
「ビルド->ソリューションのビルド」を行います。

エラーだらけ!

warning MSB8012: TargetPath(.....
error LNK2019: 未解決の外部シンボル.....
error LNK2001: 外部シンボル.....

解決して行きましょう!
2箇所変更します!

【1】
VisualStudioのメニュー
プロジェクト
FMPluginのプロパティ|構成:Release
└構成プロパティー
 └全般
  ターゲットの拡張子:.fmx
  .dllの場合、.fmxに変える


【2】
VisualStudioのメニュー
プロジェクト
FMPluginのプロパティ|構成:Release
└構成プロパティー
 └リンカー
  └入力
   追加の依存ファイル:FMWrapper.libを追加
    $(ProjectDir)..\..\Support\FMPlugInSDK\Libraries\Win\win32\FMWrapper.lib


「ビルド->ソリューションのビルド」を実行!

========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========

エラーが無くなりりました!

ちょっとだけ いじって見ましょう!

FileMakerに表示されるプラグイン名になります!

FMTConfig.h
69|#define PLUGIN_NAME "My Plug-In"

69|#define PLUGIN_NAME "私のプラグイン"

としてみましょう!

「ビルド->ソリューションのビルド」を実行!

以下に出力されています。


24U Plug-In Template 3.1\Output\FMPlugin.fmx

FMPlugin.fmx を FileMakerのExtensionsフォルダに入れて
C:\Program Files (x86)\FileMaker\FileMaker Pro □\Extensions


環境設定

「私のプラグイン」ちゃんと認識しています!



[スクリプト]で関数を見てみましょう!




ちゃんとあります!


フィールド設定 [ TEST::er; X24FT_Version( "long" ) ]

で、「私のプラグイン 1.0」を返します!