★ INCM Plug-in開発掲示板 ★ TinyGrass Ver0.32a [戻る]

名前 ホームページ(SPAM対策のため入力不可) メールアドレス(SPAM対策のため入力不可) タイトル(返信時は「>返信先No. タイトル」と記述) 本文

[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/
[0358] 01/04/28 11:10 一 五明(YMjHyfzdazU): Re:357)RE: URLエンコーディング? >httpで通らないコードとかあるんですかね。  http自体はバイナリデーターをPOSTすることも可能です。  (実際お絵描き掲示板やファイル添付系掲示板はそうです)  ただ… >biglobeに設置したInterNetCockはうまくいくのに、 >mmtrに設置したInterNetCockにはうまくいかないという問題がおこりました。 >漢字とかいろいろS-JISコードそのまま送ってました。  サーバーが厳しく?チェックしてるとこうなるんですね。  (最低限の変換にすれば普通にURLエンコードするより転送量が減っていい かなと思ったんですが)  Content-typeがurlencodedの時のみのチェックだとしたら、octet-stream は通る気もしますが、これはCGIの側で弾かれることが有ります。 http://kt.sakura.ne.jp/~timeflow/M/
[0357] 01/04/27 21:22 GAE(Kb8yjU9ajnI): Re:355)RE: URLエンコーディング? > エンコードは、一応、かけてるんです。Perlモジュールを使っているので中 > 身がどうなっているか、細かいことはわからないのですが、 > 「application/x-www-form-urlencoded」形式になってるハズです。 エンコード後のデータをファイルにおとせばわかりそうですが、 使い方が間違ってるとか日本特有の問題とか。 そういえば2年前くらい、 INCMのたたき台(cgiにpostするだけ)を作ってたとき、 biglobeに設置したInterNetCockはうまくいくのに、 mmtrに設置したInterNetCockにはうまくいかないという問題がおこりました。 このときURLエンコーディングのことを知らなかったので 漢字とかいろいろS-JISコードそのまま送ってました。 httpで通らないコードとかあるんですかね。 ↑程度が低くてすみません(笑) GAE@1分10円環境 http://www.gld.mmtr.or.jp/~naofumi/incm/
[0356] 01/04/27 16:25 Buckeye(UnTUYw5MC2c): Re:354)RE: URLエンコーディング? うーん、今もよくわかんないんですが…… >>& は %26 を送ります。 ということなので、「&」のかわりに「%26」としてみたところ、これでうまくい くようです。本文部分(タイトルも、かな)にある半角&を、ぜんぶ「%26」に しておけばよさそうです。 Best Regards, Buckeye
[0355] 01/04/27 11:17 Buckeye(UnTUYw5MC2c): Re:354)RE: URLエンコーディング? GAEさん、GETWILD'74さん、 エンコードは、一応、かけてるんです。Perlモジュールを使っているので中 身がどうなっているか、細かいことはわからないのですが、 「application/x-www-form-urlencoded」形式になってるハズです。 うーん、なにがおかしいんだろ。 Best Regards, Buckeye
[0354] 01/04/26 17:51 GAE(GCDDVPb8PCc): Re:352)URLエンコーディング? GAE@ようやく電話が開通 です。 ↓「そんなことはわかってるよ」と思われたらすみません…。 > cmwファイルに書き出してもらって、プラグイン側で発言処理をする場合につい > てです。発言中に半角の&があると、そこで、発言が切れてしまいます。これは、 > cgi側が、半角&を引数間の区切りと誤解してしまうことから起きているものと > 思われます。 & は %26 を送ります。 Webで「URLエンコーディング」を調べると細かい仕様が出るかもしれません。 ある範囲の文字コード以外のコードを送るときは 基本的にこのエンコードが必要になるはずです。 「ある範囲」については適当でもいいような気がします。(とりあえず) ほとんどCGIは、&で分割したのちに、デコードしているからです。 http://www.gld.mmtr.or.jp/~naofumi/incm/
[0353] 01/04/24 16:52 GETWILD'74(Qk25uvB38zc): Re:352)Re: 発言時の半角&の処理 encodeとかは使えないですかね。
[0352] 01/04/22 17:00 Buckeye(UnTUYw5MC2c): 発言時の半角&の処理 みなさん、ご無沙汰しております。 4ヶ月を超えた怒濤のシュラバが一段落ついたので、@niftyインターウェイプラ グインのメンテを始めました。で、ちょっとお知恵を借りたいことがあります。 cmwファイルに書き出してもらって、プラグイン側で発言処理をする場合につい てです。発言中に半角の&があると、そこで、発言が切れてしまいます。これは、 cgi側が、半角&を引数間の区切りと誤解してしまうことから起きているものと 思われます。 同じcgiにブラウザで書き込むと、ちゃんと、半角&が出るので、なにか、前処 理する方法があるハズなんですが……どなたか、ご存じありませんか? htmlでの表記法でいけるかと思ったら、あれ、みんな、頭に半角&がつくんです ね(^^;) 最悪、全角&に置換してから発言するって方法もありますけど(--;) Best Regards, Buckeye
[次のページ]