My Macros フォルダの名称変更

  1. いつも Mery をご愛用くださりありがとうございます。

    さて標記の件ですが、Mery の 3 系へのバージョンアップに際してずっと気になっていた仕様を直したいと思います。

    Mery フォルダ配下にデフォルトで配置されている "My Macros" フォルダですが、これの名称を "Macros" に変更したいと思いますがいかがでしょうか。

    もともと、サンプルマクロが入っているだけのオマケだったので、マイドキュメントとかにコピーして参考にしてね!というノリで "My Macros" という名前にしていたのですが、Mery バージョン 2.4.0.5701 以降、マクロ機能において標準でパスが通っているという特殊なフォルダに昇格しました。

    つきましては "Plugins" フォルダと命名規約をそろえて単純に "Macros " フォルダにしたいと考えておりますが、作成されているマクロで "My Macros" の名前を使ってパスを指定していたりするケースって多いですかね?マクロを使われている方のご意見をうかがいたいです。

     |  Kuro  |  返信
  2. ks です。
    私個人は、今のマクロ設定(Mery.ini)がトバずに引き継げれば問題ないです。
    マクロの方も include ライブラリの一行を書き帰れば対応可能にしているはずなので。
    逆に include ライブラリ対応していないマクロの対応を進めるきっかけになると思います。

    マクロで My Macros フォルダを参照するのは、メニューを表示してそこからマクロを実行するようなタイプがほとんどではないでしょうか。
    include ライブラリではポータブルにしている場合のデータ保存先にもしていますが、かなり特殊な用途だと思います。

    懸念点としては、Mery2 ユーザが残り続けるとしてマクロのメンテでしょうか。
    Delphi 10 だと XP はおろか VISTA も駄目だった気がするので、Mery2 ユーザは残りそうですよね。
    バージョンで切り分ければいいのですが、簡単なマクロだと端折ることも多いです。

    > もともと、サンプルマクロが入っているだけのオマケだったので、マイドキュメントとかにコピーして参考にしてね!というノリで……
    Program Files 配下に置くとして、結構入れ替えるマクロを同じフォルダに入れるのは権限的に筋が悪いですからねぇ
    かといってマイドキュメントとかに置くのも嫌なので、行き場がないんですが……
    一番はドラッグすると勝手に AppData に配置して管理してくれるパッケージシステムのようなものが理想でしょうか。
    アイコンをパックしたり、キー割り当てやイベントなども初期設定してくれたり……なんて。

     |  ks  |  返信
  3. ks さん、ご返信ありがとうございます。

    無理に変更する必要もないのですが、気になり始めたらどうにも止まらなくなってしまいまして^^;
    やはり、ある程度は影響がありそうですか。恐る恐るベータ版で仕様変更して様子見しましょうかね…

    > 私個人は、今のマクロ設定(Mery.ini)がトバずに引き継げれば問題ないです。

    Mery.ini はそのまま引き継ぐことができる予定です。

    > 懸念点としては、Mery2 ユーザが残り続けるとしてマクロのメンテでしょうか。
    > Delphi 10 だと XP はおろか VISTA も駄目だった気がするので、Mery2 ユーザは残りそうですよね。

    これなんですよねぇ…

    実は Delphi 10 ですが、しばらく使用してみたところ、あまりの不具合の多さと完成度の低さに唖然。ベータ版かと思っちゃうレベルでした。

    おまけに Delphi 10 のウリである Windows 10 対応や高 DPI 対応は完成度が低く、Windows 10 対応ってただスキンを 10 っぽくしただけで全然ネイティブじゃない (ストア非対応) ですし、異なる DPI のモニタ間でウィンドウを移動させたらフォントがどんどん大きくなっていったり、ウィンドウが画面外にぶっ飛んでいったりして、これで Windows 10 正式対応とか、片腹大激痛w

    で、先日アップデータ (バグフィックス 250 個w) がリリースされたのですが、これを適用するにはサブスクリプション契約が必要で、お値段 6 万 4 千円、ワロタ…

    実行ファイルや DLL のサイズは 2 倍近くに肥大化しますし、Vista と XP はサポート外。Mery の開発においてはデメリットしかないので、せっかく買ったのにもったいないですが Delphi 10 を使用するのは止めて、Delphi XE2 で行くことにしましたw

    Delphi XE2 ですと Vista、XP、2000 (笑) に対応しており、一応 64 ビットアプリも開発可能ですので…

    > 一番はドラッグすると勝手に AppData に配置して管理してくれるパッケージシステムのようなものが理想でしょうか。
    > アイコンをパックしたり、キー割り当てやイベントなども初期設定してくれたり……なんて。

    おぉ… パッケージ…
    ドラッグドロップで配置や、リポジトリから取得できる仕組みとか、素敵ですねぇ…
    そのレベルになったら売れそうですね!w

     |  Kuro  |  返信
  4. 自作のマクロでは、ツールバーアイコンの指定に関係しますね。
    例> #icon="My Macros\*****.ico"

    #include の読み込み優先順位は、
    1. 絶対パス
    2. 呼び出し元ファイルからの相対パス
    3. My Macros フォルダからの相対パス
    4. 実行したマクロファイルからの相対パス
    と認識していますが、#icon の場合はどうなのでしょうか?

     |  masme  |  返信
  5. masme さん、ご返信ありがとうございます。

    > 自作のマクロでは、ツールバーアイコンの指定に関係しますね。
    > 例> #icon="My Macros\*****.ico"

    なるほど、そういうケースもありましたか!
    あ、でも "My Macros" フォルダが使用できなくなるわけではなく、デフォルトでサンプルマクロが同梱されているフォルダの名前が「Macros」になるだけなので、大丈夫でしょうかね。

    > #include の読み込み優先順位は、
    > 1. 絶対パス
    > 2. 呼び出し元ファイルからの相対パス
    > 3. My Macros フォルダからの相対パス
    > 4. 実行したマクロファイルからの相対パス
    > と認識していますが、#icon の場合はどうなのでしょうか?

    icon の場合はそもそも "My Macros" フォルダにパスは通ってません。あくまで include の場合のみの突貫工事です。(以前にご意見があったもので取り急ぎ My Macros フォルダにパスを通しました…)

    なので、"My Macros" フォルダをパスで指定していても "My Macros" フォルダを削除してしまわない限りは特に問題ないと思います。

     |  Kuro  |  返信
  6. Kuro さん

    > で、先日アップデータ (バグフィックス 250 個w) がリリースされたのですが、これを適用するにはサブスクリプション契約が必要で、お値段 6 万 4 千円、ワロタ…

    いやいや、笑ってくださいよw

    > 実行ファイルや DLL のサイズは 2 倍近くに肥大化しますし、Vista と XP はサポート外。Mery の開発においてはデメリットしかないので、せっかく買ったのにもったいないですが Delphi 10 を使用するのは止めて、Delphi XE2 で行くことにしましたw
    > Delphi XE2 ですと Vista、XP、2000 (笑) に対応しており、一応 64 ビットアプリも開発可能ですので…

    実行ファイルサイズが素で倍増、64bit 版で更に倍プッシュでは厳しいものがありますね。
    私もやっとまたプラグインの方に手を出していて、64bit 対応はついて行きますよー
    Win2000(笑)については……秀○さんなんか 98 まで対応していて、バグが出たら直すサポートの厚さですし……前向きに考えましょう!

    > ドラッグドロップで配置や、リポジトリから取得できる仕組みとか、素敵ですねぇ…

    今のマクロで素人の方に大変だなーと思うのは、
     「ダウンロードまたはテキストコピーして作る」
     「Mery に追加する」
     「キーやイベントに登録する」
     (「設定を変更する」)
    という手順を踏まないといけないことだと思ってます。
    キーやイベントも作り手の想定があると思うので導入まで一発でやれそうだなー、やれたら楽だなー、と。
    マクロ中に設定を埋め込んで変えてもらうのも難しいですし、設定も特定の書式に従えば画面上で変えられればなー、と。
    この点プラグインはただ Plugins フォルダに放り込めばいいですし、GUI も扱えるので簡単ですよね。
    イメージは Fireofx のアドオンですが……ただの妄想です。

     |  ks  |  返信
  7. ks さん、こんばんは。

    > いやいや、笑ってくださいよw

    ほんとにネ…w 涙が出るほど笑わせてもらいました…

    Mery を本気で作り始めた時に Delphi XE を買ったのですが、あと半年耐えて XE2 を買っておけばと後悔しました。ちなみに XE3 から実行ファイルサイズがさらに 1MB 増量されたようで、そこから Delphi 10 まで徐々に増え続ける一方です。(Delphi 10 を買えば過去バージョンのライセンスも全部もらえるので、全部試してやりましたw)

    結局、XE2 が一番バランス良かったです。若干 IDE に不治の不具合がありビルド番号が記録できないので、Mery 3 系からはビルド番号 (ファイル名の末尾の 4 ケタ) は無くなるかもしれませんがw

    > 実行ファイルサイズが素で倍増、64bit 版で更に倍プッシュでは厳しいものがありますね。

    ですねw

    64 ビットで Delphi 10 だともうテキストエディタの枠を超えて、ちょっとした統合開発環境なみのファイルサイズでした。Delphi XE2 だと 64 ビット版でも 4.8 MB と、ギリギリ許容範囲 (個人的見解ですが) のようです。64 ビット版のアウトラインプラグインは 1.9 MB ですが… まあ、笑って許せる範囲かと…

    > Win2000(笑)については……秀○さんなんか 98 まで対応していて、バグが出たら直すサポートの厚さですし……前向きに考えましょう!

    98 に対応しているのはスゴイです!OS がユニコード対応じゃないのにw どういう仕組みなのかわかりませんが、尊敬しますねぇ。某エディタは XP のサポートも打ち切られたようですが、実は、私は未だにゲーム用で XP 環境を愛用していますので、Mery で XP 対応は必須だと思ってますw (Vista は知らんけど)

    今回、調べていて Mery って 2000 対応してたんだ!と初めて知りましたけど。

    > 今のマクロで素人の方に大変だなーと思うのは、
    >  「ダウンロードまたはテキストコピーして作る」
    >  「Mery に追加する」
    >  「キーやイベントに登録する」
    >  (「設定を変更する」)
    > という手順を踏まないといけないことだと思ってます。

    その点は Sublime Text みたいにボタン一発なエディタもありますし、Mery 的には懸念事項ですね。それができるようになると、マクロなどを公開する人も増えてくると思いますし。現状では、国産のエディタでそういうシステムを導入しているものって聞いたことありませんから、もしかすると一発当てられるかも!?w

    Firefox のアドオンみたいにショーケースっていうのかな、よくわかりませんが、アドオンライブラリみたいなところから取ってこられる形式。想像するだけで、開発者が少なくとも 5 人ぐらい欲しい気分になってきますが、夢が膨らみますw

     |  Kuro  |  返信
  8. > "My Macros" フォルダが使用できなくなるわけではなく、デフォルトでサンプルマクロが同梱されているフォルダの名前が「Macros」になるだけなので、大丈夫でしょうかね。

    MeryWiki に投稿したマクロは、デフォルトのフォルダにアイコンを置くことを想定しているので、名前が変わるなら指定先も変えたほうがいいかなー、と思ってます。
    デフォルトで存在するものを利用するほうが安心感あるよなー、と。

    #icon も「マクロ内に記述し、別のファイルを読み込む」点で #include と共通しているので、仕様も似せてはどうでしょう?
    1. 絶対パス
    2. 呼び出し元ファイルからの相対パス
    3. My Macros フォルダからの相対パス
    4. 実行したプログラム (Mery.exe) からの相対パス

    #icon="*****.ico"
    と記述すれば、マクロとアイコンをワンセットで同じ場所に置けばよく、置く場所は柔軟にできるのでは、と考えてます。

     |  masme  |  返信
  9. > MeryWiki に投稿したマクロは、デフォルトのフォルダにアイコンを置くことを想定しているので、名前が変わるなら指定先も変えたほうがいいかなー、と思ってます。

    そうでしたか。そもそも "My Macros" フォルダはそういう用途で設けたものではなかったので想定外ですが、パスを通してからはちょっと存在意義が変わってきましたね。。。

    > #icon も「マクロ内に記述し、別のファイルを読み込む」点で #include と共通しているので、仕様も似せてはどうでしょう?

    確かに、その方がよさそうですね。仕様変更に便乗して icon のパスも通るようになりましたよ!っていうメリットがあったほうが、「パス変わるのかよ!くそ!」っていう不満が相殺されて、若干マシになるかもしれませんし…w

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