プラグインの開発でリソースファイルの作成について

  1. 初めまして。最近 Mery を使い始めました。

    Mery からファイラーへのフォーカス移動の機能を実装したくて、Delphi XE2 
    でプラグインの作成中です。
    「プラグイン」に記述されていたサイトに行って、haijinboys/mery-plugin-sdk の 
    BASIC を参考にして、作成してみました。

    1:動作するプラグインは作成できたのですが、現在「mPlugin.res」のファイル
    を使用しているためか、プラグインで表示される名前が「基本的なサンプル」にな
    っています。この部分を変更するには、どのようにすれば良いのでしょうか。

    2:Delphi で開発を行ってきましたが、これまでにリソースファイルを使用した
    ことが無いので、「リソースファイルを作成するツール」と「実装が必要な項目」
    を教えて下さい。

    3:「プラグインの設定」で「Outline」の行では「プロパティ」のボタンが有効
    になっていますが、自分で作成したプラグインでは、ボタンが無効になっています。
    ボタンを有効にする方法を教えて下さい。
    一応プラグインをダブルクリックすると「MP_SET_PROPERTIES:」で設定した内容は表示
    されます。

    よろしくお願いします。

     |  大石剛司  |  返信
  2. はじめまして、Mery をお試しくださりありがとうございます。

    > Mery からファイラーへのフォーカス移動の機能を実装したくて、Delphi XE2 
    > でプラグインの作成中です。

    Mery の開発環境も Delphi XE2 ですので、お力になれるかと思います。

    > 1:動作するプラグインは作成できたのですが、現在「mPlugin.res」のファイル
    > を使用しているためか、プラグインで表示される名前が「基本的なサンプル」にな
    > っています。この部分を変更するには、どのようにすれば良いのでしょうか。

    同梱の mPlugin.rc というファイルがリソースの定義となっています。
    rc ファイルはテキスト形式ですので Delphi XE2 の IDE やテキストエディタなどで直接編集できます。

    > 2:Delphi で開発を行ってきましたが、これまでにリソースファイルを使用した
    > ことが無いので、「リソースファイルを作成するツール」と「実装が必要な項目」
    > を教えて下さい。

    実装が必要な項目は mPlugin.rc を開いて頂くとわかるかと思いますが、アイコン、プラグインの名前、プラグインのヒント、のみです。その他、絵やアイコンなど独自の素材を含めたい場合もそこに追加してもらって OK です。

    「リソースファイルを作成するツール」は Delphi XE2 の場合、「brcc32」というコマンドプロンプトから呼び出すツールを使用しますが、rc 形式のファイルをプロジェクトに追加しておけば、プロジェクトをビルドする際に自動的にリソースもコンパイルしてくれます。

    もちろん、コマンドプロンプトから「brcc32 mPlugin.rc」のように手動でリソースをコンパイルすることも可能です。

    > 3:「プラグインの設定」で「Outline」の行では「プロパティ」のボタンが有効
    > になっていますが、自分で作成したプラグインでは、ボタンが無効になっています。

    「プロパティ」ボタンを有効にするのは、PluginProc の MP_QUERY_PROPERTIES メッセージに True を返してやります。

    アウトラインプラグインのソースも GitHub で公開していますので、ソースを見ていただくのが一番早いかと思います。(アウトラインプラグインはエディタウィンドウ内にフレームで分割して画面を表示する形式ですので、Basic サンプルより CustomBar サンプルがひな形になっています)
    https://github.com/haijinboys/mery-plugin-outline

    以上、分かりにくい点などがございましたらお気軽にどうぞ。

     |  Kuro  |  返信
  3. 詳しい説明ありがとうございます。無事に完成できました。

    > > 3:「プラグインの設定」で「Outline」の行では「プロパティ」のボタンが有効
    > > になっていますが、自分で作成したプラグインでは、ボタンが無効になっています。

    > 「プロパティ」ボタンを有効にするのは、PluginProc の MP_QUERY_PROPERTIES メッセージに True を返してやります。

    この部分は Integer を返さないといけないみたいで「1」を返しました。これで動作しました。
    MP_QUERY_PROPERTIES:
          begin
            Result := 1;
          end;

    今回作成したプラグインの機能は、Mery からファイラーへのフォーカス移動です。
    現在、自分で作成したファイラーを使用しているのですが、エディターからファイラーに
    キーボードだけで戻る操作が可能になりました。

    フォーカスを移動したいアプリケーションのタイトルバーに表示されている文字列を、
    事前に設定しておきます。
    プラグインを実行すると、この文字列を含むタイトルバーの一覧を表示します。
    該当の箇所に移動して実行ボタンを操作すると、該当のアプリケーションが前面に表示
    されます。

    完成したプラグインを他の方にも使ってもらおうかと思いますが、どのようにしたらよいのでしょうか?

    よろしくお願いします。

     |  大石剛司  |  返信
  4. ご返信ありがとうございます。
    無事、完成されたようで良かったです。

    > 完成したプラグインを他の方にも使ってもらおうかと思いますが、どのようにしたらよいのでしょうか?

    ご自身のブログや GitHub などで公開されているかたもいらっしゃいますし、MeryWiki の「プラグインライブラリ」はアカウント登録さえすれば自由に編集できますので、そちらで公開していただくことも可能です。

    MeryWiki - プラグインライブラリ
    https://www.haijin-boys.com/wiki/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA

     |  Kuro  |  返信
スポンサーリンク