★ INCM Plug-in開発掲示板 ★ TinyGrass Ver0.32a [戻る]
[0383] 01/08/25 16:19 ???(CWNhixMia52): 無題
[0382] 01/08/25 16:19 ???(CWNhixMia52): 無題
[0381] 01/08/16 02:26 しん(T6FzLU/SKkQ): Re:379)RE: プラグインの作成
>BLOCK "041204B0" に置き換えればokのはずです。
>Delphi は使った事ないですが、たぶんできるんじゃないかと…。
僕もそう思い、Delphi標準のバージョン情報を使用しない設定にして、VCで作ったバージョンリソーススクリプトを元にDelphi向けに変更し、Delphiに付属のbrcc32.exeでリソーススクリプトをコンパイルして、そのリソースをインクルードしてプラグインを作成したら表示されるようになりました。
<http://homepage2.nifty.com/nhana/>にNAN-NET BBS用<http://www.nantv.com/index1.htm>のプラグインを公開しました。
どうもありがとうございました。
ただ、BBS の内容にリアルな性行為の表現が多々にあり常識から考えれば問題があるんじゃないかと思うので、手軽に内容を見れる便利なINCMからは利用しないでという文章が送られてきそうで。もしかしたら将来公開できなくなるような気がしてます。
http://homepage2.nifty.com/nhana/
[0380] 01/08/16 02:04 しん(nNTQJc5T00A): Re:378)RE: プラグインの作成
>Delphiで作ったプラグインのVERSIONINFOリソースも下記のようになっていたのでバージョンなどの表示はあきらめることにしました。
バージョンなどの表示ですがバージョンリソースをDelphi標準のものを使わずに作成すると表示
できるようになりましたので、早速HPに公開しました。
http://homepage2.nifty.com/nhana/
http://homepage2.nifty.com/nhana/
[0379] 01/08/15 23:45 GAE(W2OpfoXL0vE): Re:378)RE: プラグインの作成
> > BLOCK "StringFileInfo"
> > {
> > BLOCK "041103A4"
BLOCK "041204B0" に置き換えればokのはずです。
Delphi は使った事ないですが、たぶんできるんじゃないかと…。
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0378] 01/08/15 22:26 しん(nNTQJc5T00A): Re:376)RE: プラグインの作成
こんばんは。GAEさん。
>ちょっと調べてみましたが、
>INCMはコードページが「Unicode(041204b0)」のバージョンリソースを固定で読むようになっていました。
>VisualC++ ではバージョンリソースを追加するとデフォルトで
>「Unicode」になるのですが、たぶんDelphiでは違うんですね。
>
>Iriaを調べてみるとコードページが「Windows,日本語(041103a4)」になっていました。
>
>読めない原因はこれです。
なるほど、そういうことでしたか。
Delphiで作ったプラグインのVERSIONINFOリソースも下記のようになっていたのでバージョンなどの表示はあきらめることにしました。
>1 VERSIONINFO
>FILEVERSION 1, 0, 0, 0
>PRODUCTVERSION 1, 0, 0, 0
>FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
>FILEFLAGS VS_FF_SPECIALBUILD
>FILEOS VOS__WINDOWS32
>FILETYPE VFT_APP
>{
> BLOCK "StringFileInfo"
> {
> BLOCK "041103A4"
> {
> VALUE "CompanyName", "\000"
> .
> .
> .
どうもありがとうございました。
[0377] 01/08/15 22:26 しん(nNTQJc5T00A): Re:375)RE: プラグインの作成
こんばんは。Buckeyeさん。
>Perlはスクリプト言語なのですが、その実行エンジンを同梱してムリヤリexe形
>式にするってことができるのです(ActiveStateのサイトで販売されている)。
>スクリプト実行時に関連するPerlモジュールなどを探しに行くパスなども、梱包
>したexe内のみに強制的に設定されるらしいです。というわけで、とってもヤク
>ザなプラグインなのです(爆)
Perlってそんなこともできるんですか。勉強になりました。
どうもありがとうございました。
[0376] 01/08/15 08:17 GAE(W2OpfoXL0vE): Re:374)RE: プラグインの作成
> ただ、Delphiで作ったEXE形式のプラグインをエディタで開くと他のプラ
> グインとはリソーステーブルらしきものの位置が違うため、もしかする
> とそれが原因で表示できないのかなと思ったりしました。
ちょっと調べてみましたが、
INCMはコードページが「Unicode(041204b0)」のバージョンリソースを固定で読むようになっていました。
VisualC++ ではバージョンリソースを追加するとデフォルトで
「Unicode」になるのですが、たぶんDelphiでは違うんですね。
Iriaを調べてみるとコードページが「Windows,日本語(041103a4)」になっていました。
読めない原因はこれです。
http://www.gld.mmtr.or.jp/~naofumi/incm/
[0375] 01/08/15 06:48 Buckeye(UnTUYw5MC2c): Re:373)RE: プラグインの作成
☆ しん さん
>>BuckeyeさんがEXE作成時に使われた環境はVCなのでしょうか?
いいえ。なんと、Perlです。
Perlはスクリプト言語なのですが、その実行エンジンを同梱してムリヤリexe形
式にするってことができるのです(ActiveStateのサイトで販売されている)。
スクリプト実行時に関連するPerlモジュールなどを探しに行くパスなども、梱包
したexe内のみに強制的に設定されるらしいです。というわけで、とってもヤク
ザなプラグインなのです(爆)
この方法の欠点は、サイズが大きくなること。基本的な実行エンジンだけで動く
プログラムでも、700KBくらいにはなるようです。私の場合、httpsへのアクセス
など、いろいろなモジュールが必要だったので、全体で1.7MBほどというばかで
かいものなりました。ちなみに、ソースファイルは、現在、126KBです。
Perlプラグインは、ほとんどすべてがソースで提供されています(これなら、サ
イズは小さい)。ただ、私のプラグインは、単なるPerlではなく、別立てでモジ
ュールを落としてきてDOS窓からインストールという作業が必要になります。こ
のプラグインを、「Perlをインターネットから落としてインストールするなんて
難しいことはできないよぉ」ってレベルの人にも使ってもらおうと考えたので、
こういう形態を採用しました。
Best Regards,
Buckeye
[0374] 01/08/15 01:38 しん(nNTQJc5T00A): Re:371)RE: プラグインの作成
こんばんは。一 五明さん。
> コマンドラインに「i」が出力されていたら、自力でINCM_BBS.INIの
>[DIALOG]セクションを書き換えて終了です。どう書きかえるかは.INI
>の中を見れば大体察しは付くと思います。
ダイアログの初期化の意味合いは大体わかりました。
>>書いてないのですが、バージョンや作者が表示されないのはそこを書か
>>ないとダメなんでしょうか?
>
> これは前記の処理では駄目です。
> 確か.exeの場合はリソーステーブルを読んでた…のような話が出てた
>記憶がありますが(うろ覚え)。GAEさんが、exeのプラグイン作った人が
>出てこないと正確には判らないです。
EXE形式のプラグインをエディタで開くとリソーステーブルの位置と思わ
れるあたりに、それらしきものが書かれているのを見つけました。
ただ、Delphiで作ったEXE形式のプラグインをエディタで開くと他のプラ
グインとはリソーステーブルらしきものの位置が違うため、もしかする
とそれが原因で表示できないのかなと思ったりしました。
[0373] 01/08/15 01:38 しん(nNTQJc5T00A): Re:372)RE: プラグインの作成
こんばんは。Buckeyeさん。
>私もよく理解していませんが……exeでは、リソーステーブルかなんかを読んでいるらしいです。で、それがないと落ちるというのが正式公開版のINCMです。私が作ったやくざな(^^;) exeプラグインでも落ちないようにしてもらったので、1.21m以降なら大丈夫になりました。となりのプラグインのバージョンや作者が表示されてしまいますけど。
BuckeyeさんがEXE作成時に使われた環境はVCなのでしょうか?
[0372] 01/08/14 13:21 Buckeye(UnTUYw5MC2c): Re:371)RE: プラグインの作成
☆ 3379:一 五明 さん
>> 確か.exeの場合はリソーステーブルを読んでた…のような話が出てた
>>記憶がありますが(うろ覚え)。GAEさんが、exeのプラグイン作った人が
>>出てこないと正確には判らないです。
私もよく理解していませんが……exeでは、リソーステーブルかなんかを読んでいるらしいです。で、それがないと落ちるというのが正式公開版のINCMです。私が作ったやくざな(^^;) exeプラグインでも落ちないようにしてもらったので、1.21m以降なら大丈夫になりました。となりのプラグインのバージョンや作者が表示されてしまいますけど。
Best Regards,
Buckeye
[0371] 01/08/14 10:50 一 五明(LnlNoig1fTU): Re:370)RE: プラグインの作成
>ただ、ダイアログの初期化は何をしていいかわからなかったので処理を
コマンドラインに「i」が出力されていたら、自力でINCM_BBS.INIの
[DIALOG]セクションを書き換えて終了です。どう書きかえるかは.INI
の中を見れば大体察しは付くと思います。
ただし…
>書いてないのですが、バージョンや作者が表示されないのはそこを書か
>ないとダメなんでしょうか?
これは前記の処理では駄目です。
確か.exeの場合はリソーステーブルを読んでた…のような話が出てた
記憶がありますが(うろ覚え)。GAEさんが、exeのプラグイン作った人が
出てこないと正確には判らないです。
http://kt.sakura.ne.jp/~timeflow/M/
[0370] 01/08/13 22:15 しん(T6FzLU/SKkQ): RE: プラグインの作成
とりあえず、ためしにDelphiで作ってみたところうまく動きました。
ただ、ダイアログの初期化は何をしていいかわからなかったので処理を
書いてないのですが、バージョンや作者が表示されないのはそこを書か
ないとダメなんでしょうか?
[0369] 01/08/12 05:21 一 五明(LnlNoig1fTU): Re:368)RE: プラグインの作成
>プラグインを作ってみようと思っているのですが、Cや
>Delphiで書かれたプラグインのサンプルソースはどこ
>かにないでしょうか?
.exe形式のプラグイン自体数が少ないですから、どうなんでしょうね…?
処理としてはsocketで対象URLを持ってきてCMTに変換して吐き出すだけ
ですから、socket関係のサンプルを探せば役に立つかもしれません。
>それとも、素直にパールを勉強してパールで書いたほう
>がいいのでしょうか?
一概にどちらがいいとも言えませんが、CGIにも使えますから覚えておけば
便利では有りますよ(^^;
http://kt.sakura.ne.jp/~timeflow/M/
[0368] 01/08/11 21:51 しん(nNTQJc5T00A): プラグインの作成
プラグインを作ってみようと思っているのですが、Cや
Delphiで書かれたプラグインのサンプルソースはどこ
かにないでしょうか?
それとも、素直にパールを勉強してパールで書いたほう
がいいのでしょうか?
宜しくお願いします。
[0367] 01/06/21 23:23 ???(u9Gty.sNUEY): typo
# incm-lib.pl Ver0.41 since 2000/02/10 by たかちほ
# at line 601
>> sub httpcliant{
[0366] 01/06/08 22:37 おおさむ(fuwFSOw.PLs): INCM plug-in開発のためのPerl入門 サンプル
一 五明 さん、こんにちは。
「INCM plug-in開発のためのPerl入門 サンプル Ver0.20a 2001/5/7」
をいただきました。
いやー、これは良いですね。Perl音痴の私ですが、お陰様で、
プラグインを一つ(読み取りだけですが)作ることができました。
有り難うございました。
それでは、また(^L^)/。おおさむ
[0365] 01/05/09 11:25 Buckeye(UnTUYw5MC2c): Re:359)RE: URLエンコーディング?
アチコチ読み歩いてみたら、私が書いたコードでは、URLエンコーディングはし
ない形になっていたようです。っつうか、モジュール側でしてくれるのかと思っ
ていました(^^;)
URI::Escapeにあるuri_escape関数を使えばいいってことがわかったんで、まず
は、デフォルトのRFC 2396に規定されているキャラクター全部をエスケープして
みました。ところが、これでは、発言処理自体が認識されない(--;)
Webクライアントプログラミング(オライリー)の巻末付録を参考に、おかしく
なる文字だけをエスケープすることして、トライしてみたところ、「%&+」の3つ
についてのみ、エスケープが必要なことがわかりました。この程度では、モジュ
ールを組み込むほどではないので、「%」→「%25」、「&」→「%26」、「+」→
「%2B」へと単純置換する関数を組んで使うことにしました。
Best Regards,
Buckeye
[0364] 01/05/07 20:37 ???(0g5y5mEUAqI): Re:363)RE: 確か
> if(&httpreq("pos:".$page."=次ページ")){
>
> …じゃないですかね?
> 駄目なら「次ページ」をURLエンコードして下さい。
結果: 出来ました。
有難う御座いました。
[0363] 01/05/04 23:42 一 五明(YMjHyfzdazU): Re:362)確か
><form action="http://host/hogegoge/hoge.cgi" method=POST>
><input type=submit name=pos:60 value=次ページ>
></form>
>if(&httpreq("name=pos:".$page."&value=次ページ")){
if(&httpreq("pos:".$page."=次ページ")){
…じゃないですかね?
駄目なら「次ページ」をURLエンコードして下さい。
http://kt.sakura.ne.jp/~timeflow/M/
[0362] 01/05/04 00:47 かつ(0g5y5mEUAqI): 次のページ
プラグインを作ろうとしてるのですが、次のページを
上手く取得できません。
↓こんなformだったので
<form action="http://host/hogegoge/hoge.cgi" method=POST>
<input type=submit name=pos:60 value=次ページ>
</form>
CMLIB15.PLの httpreq に引数を↓こんな感じでわたしてるのですが
if(&httpreq("name=pos:".$page."&value=次ページ")){
最初と同じページを取得してしまいます。
libraryの使い方が変でしょうか?
宜しくお願いします。
[0361] 01/04/29 13:10 一 五明(YMjHyfzdazU): Re:360)あ、
>>> 全部くっつけてから変換するのがいいかも。
>これは、引数の区切りの&も変換されちゃうから、まずいんじゃないですか?
まずいです(^^;
TGrassでまとめて逆変換やってるので勘違いしてました。
http://kt.sakura.ne.jp/~timeflow/M/
[0360] 01/04/28 13:56 Buckeye(UnTUYw5MC2c): Re:359)RE: URLエンコーディング?
一 五明さん、
名前部分はいいんです。@niftyは、英数字のIDで認証を受けたら、あとは、その
システム側がIDから名前をつけてくれる仕組みです。つまり、こちらからは名前
を送らないので。
>> 全部くっつけてから変換するのがいいかも。
これは、引数の区切りの&も変換されちゃうから、まずいんじゃないですか?
それとも、encodeって、そこも含めてするものなんでしょうか……
>> あと、「+」→「%2b」の変換も要るはずです(でないとスペースに変換され
>>るはず)。
これ、テストしてみました。たしかに、スペースに変換されちゃいます。
Perlモジュールのencodeはどうなってるんだろ……ということで、もう一度、ヘ
ルプを見直してみたんですが、もしかしたら、あのコードでは、encode処理はか
からないのかもしれません。少し調べてみます。
Best Regards,
Buckeye
[0359] 01/04/28 11:10 一 五明(YMjHyfzdazU): Re:356)RE: URLエンコーディング?
>ということなので、「&」のかわりに「%26」としてみたところ、これでうまくい
>くようです。本文部分(タイトルも、かな)にある半角&を、ぜんぶ「%26」に
念のために名前もですね(^^;
全部くっつけてから変換するのがいいかも。
あと、「+」→「%2b」の変換も要るはずです(でないとスペースに変換されるはず)。
URLエンコードの仕組み自体は「URLに含めてはならない文字を %xx (xxは16進数の
キャラコード)に変換、ただし例外としてスペースは+に変換」だったと思います。
http://kt.sakura.ne.jp/~timeflow/M/
[次のページ]