HE: マクロからhmnetrss.dll、hmnetast.dlNo.27335
たけとり さん 09/12/14 17:41
 
いつもお世話になります。
標記について、伺いたい点ができましたので投稿します。
わからずに書いているところもありますので、とんちんかんな要望・質問でしたらす
みません。

・hmnetast.dllおよびhmnetrss.dllをマクロから使えないか?
たとえば、hmnetrss.dllをつかって編集中or変数中のrss形式の文字列を(秀丸エク
スプローラーでrssを読み込んだときのような)整形された状態に変換したり、hmnet
ast.dllを使ってそのメソッド(具体的にはURLEncodeメソッド)を利用する...とい
ったことをしたいとき、何か方法はありますか?

loaddll hidemarudir + "\\hmnet\\HmNetAst.dll";
if( !result ) {
    message "dllのロードに失敗しました。";
    endmacro;
}
$a = dllfuncstr( "URLEncode", "日本語", 3 );
message $a;
freedll;

といったようなコードでは、
---------------------------
エラー
---------------------------
dllfunc関数で指定された呼び出し先が見つかりません
---------------------------
OK  
---------------------------
というダイアログが出てきて実行できませんでした。

よろしくお願いします。

[ ]
RE:27335 HE:マクロからhmnetrss.dll、hmnNo.27336
h-tom さん 09/12/14 21:21
 

h-tom です。

>・hmnetast.dllおよびhmnetrss.dllをマクロから使えないか?
両方とも、"DLL"ですが、COM(Component Object Model)なので、loaddllでは、
使えませんよ。
秀丸エディタでCOMを使うなら、Ver.8が必要です。
Ver.7の場合、macrodll.dll(あべのりゆき氏作成)が必要です。

秀丸アドイン担当さんへ

・「Hidemarnet Explorer」のヘルプで、「秀丸エディタのテキストブラウザの
 フォーマット」の最初にある、「WEB整形モジュールをサポートするDLL」の
 リンクですが、リンク先へ飛べません。
 (「現在の秀丸エディタのオプションの状態を知るには、〜」の所)

・ヘルプの「WEB整形モジュールをサポートするDLL」で、「Hmnetex」クラス
 に「Version」プロパティがありますが、「Version」プロパティがあるのは、
 「Hidemaru」クラスですよね。

[ ]
RE:27336 HE:マクロからhmnetrss.dll、hmnNo.27338
パブリッシャー担当 さん 09/12/15 10:31
 

 いつもお世話になっております。

>・「Hidemarnet Explorer」のヘルプで、「秀丸エディタのテキストブラウザの
> フォーマット」の最初にある、「WEB整形モジュールをサポートするDLL」の
> リンクですが、リンク先へ飛べません。
> (「現在の秀丸エディタのオプションの状態を知るには、〜」の所)
>
>・ヘルプの「WEB整形モジュールをサポートするDLL」で、「Hmnetex」クラス
> に「Version」プロパティがありますが、「Version」プロパティがあるのは、
> 「Hidemaru」クラスですよね。

 確認することができました。
 次回のバージョンアップ時に修正させていただきます。

 ご不便おかけして申し訳ございませんがよろしくお願いします。

[ ]
RE:27335 HE: マクロからhmnetrss.dll、hmNo.27339
パブリッシャー担当 さん 09/12/15 10:31
 

 いつもお世話になっております。

>・hmnetast.dllおよびhmnetrss.dllをマクロから使えないか?
>たとえば、hmnetrss.dllをつかって編集中or変数中のrss形式の文字列を(秀丸エク
>スプローラーでrssを読み込んだときのような)整形された状態に変換したり、hmnet
>ast.dllを使ってそのメソッド(具体的にはURLEncodeメソッド)を利用する...とい
>ったことをしたいとき、何か方法はありますか?

 既にh-tomさんからコメントが付いていますが、hmnetast.dllやhmnetrss.dll
は、Component Object Model略して通称COM 形式のDLLなので秀丸エディタのマ
クロの「loaddll」ではロードできないです。
 現在βテスト中の秀丸エディタVer8.00のマクロからなら「createobject関
数」を使用することで自由に使えるようになります。

====================================================================
#obj = createobject("hmnetast.hmnetex");
$encString = callmethod_returnstr(#obj, "URLEncode", "秀丸エディタ", 1);
message $encString;
releaseobject #obj;
endmacro;
====================================================================

 これで文字列「秀丸エディタ」がURLエンコードされた形に変換されます。
 hmnetrss.dllの場合も同様に利用可能です。

 ただ、どちらのDLLもマクロから呼び出されることを前提として作成されてい
ませんので細かな使い勝手は良くないかもしれません。

 よろしくお願いします。

[ ]
RE:27339 HE: マクロからhmnetrss.dll、hmNo.27345
たけとり さん 09/12/17 17:49
 
返事が遅くなってすみません。それと、まとめての返事ですみません。

h-tom様、パブリッシャー担当様、ご助言ありがとうございます。
createobjectでできるということがわかり、とりあえずhmnetast.dllで試してみまし
た。
(hmnetrss.dllは追々...)
結果的には、教えていただいたコードで変換することを確認できました。
ただ、URLEncodeの第2引数を3にした場合、第1引数の内容にかかわらず常に%11が返
されるのですが、これは再現しますでしょうか。

> hmnetrss.dllの場合も同様に利用可能です。
>
こちらはまだ試せていないのですが、

#hmrss = createobject("hmnetrss");
insert callmethod_returnstr(#hmrss, "Convert", 数値, 文字列1, 文字列2, 文
字列3, 文字列4);
...
という感じで試してみたいと思っています。

> ただ、どちらのDLLもマクロから呼び出されることを前提として作成されてい
>ませんので細かな使い勝手は良くないかもしれません。
>
ファイル名を引数にとるメソッドがいくつかありますが、文字列を引数にできたほう
が(マクロで使うには)使い勝手は増すものもありますね。
ただ、まぁ、そこは運用でまかなってみます。

また何かありましたら、よろしくお願いします。

[ ]
RE:27345 HE: マクロからhmnetrss.dll、hmNo.27346
パブリッシャー担当 さん 09/12/18 12:05
 

 いつもお世話になっております。

>ただ、URLEncodeの第2引数を3にした場合、第1引数の内容にかかわらず常に%11が返
>されるのですが、これは再現しますでしょうか。

 確認することができました。
 修正させていただきます。

 ご不便おかけして申し訳ございませんがよろしくお願いします。

[ ]
RE:27346 HE: マクロからhmnetrss.dll、hmNo.27364
たけとり さん 09/12/23 19:57
 
いつもお世話になります。

> 確認することができました。
> 修正させていただきます。
>
早速の修正&アップデートありがとうございます。
Ver4.10を早速試してみました。

#obj = createobject("hmnetast.hmnetex");
$encString = callmethod_returnstr(#obj, "URLEncode", "日本語", 3);
releaseobject #obj;

この結果は
%11%00%E6%11%00%97%11%00%A5%11%00%E6%11%00%9C%11%00%AC%11%00%E8%11%00%AA%11%
00%9E%00
となります。試しにこの文字列を用いて、巷にあるURLエンコード・デコードサイト
のいくつかで試したところ、うまく「日本語」になりませんでした。
また、それらのサイトで「日本語」をUTF-8としてURLエンコードしたところ、
%e6%97%a5%e6%9c%ac%e8%aa%9e
という文字列が返ってきました。

文字コードについてあまり詳しくないのですが、少なくとも後者をURLの一部としてH
Eを含むブラウザーに渡すと「日本語」として解釈される一方で、前者の場合だとう
まく解釈してくれないようです。
再現しますでしょうか。

よろしくお願いします。

[ ]
RE:27364 HE: マクロからhmnetrss.dll、hmNo.27365
パブリッシャー担当 さん 09/12/24 10:44
 

 いつもお世話になっております。

>この結果は
>%11%00%E6%11%00%97%11%00%A5%11%00%E6%11%00%9C%11%00%AC%11%00%E8%11%00%AA%11%
>00%9E%00
>となります。試しにこの文字列を用いて、巷にあるURLエンコード・デコードサイト
>のいくつかで試したところ、うまく「日本語」になりませんでした。
>また、それらのサイトで「日本語」をUTF-8としてURLエンコードしたところ、
>%e6%97%a5%e6%9c%ac%e8%aa%9e
>という文字列が返ってきました。

 現象の方確認いたしました。
 UTF-8へのエンコード処理の方に不具合がございました。
 修正させていただきます。

 ご不便おかけして申し訳ございませんがよろしくお願いします。

[ ]
RE:27364 HE: マクロからhmnetrss.dll、hmNo.27366
パブリッシャー担当 さん 09/12/24 13:38
 

 いつもお世話になっております。

 修正して Ver4.11 として公開させていただきました。

URL:http://hide.maruo.co.jp/software/hmnetex.html#download

 よろしくお願いします。

[ ]
RE:27366 HE: マクロからhmnetrss.dll、hmNo.27367
たけとり さん 09/12/24 18:57
 
こんばんは。

> 修正して Ver4.11 として公開させていただきました。
>
早速ダウンロードしてみました。
β31との組み合わせでうまくいっています。
とても素早い対応をしていただきありがとうございます。

[ ]