★ INCM Plug-in開発掲示板 ★ TinyGrass Ver0.32a [戻る]
[0212] 00/10/21 10:22 Buckeye(UnTUYw5MC2c): Re:211)Re: cm_Plug-in.exe
>>試行されたPlug-inは何れの環境でコンパイルされたものでしょうか。
私のexeは、perlスクリプトをActiveState社(ActivePerlを配布している会社)
のPDK(Perl Development Kit)に入っているPerlAppというプログラムでexe化
したものです。いわゆるコンパイルとは違うもののようです。(この処理は、
NT上でしかできない。ただし、できあがった実行可能形式ファイルはWin95/98系
でも実行可能)
PDKによる実行形式化は、必要なperlスクリプトやモジュール、関連するDLLを、
Perlの実行エンジンとまとめてexeに必要なヘッダをつけたもの、というイメー
ジのようです。ファイル内をむりやりのぞいてもテキスト情報はほとんどないの
で、perlスクリプトの部分は中間言語にコンパイルされている状態で梱包されて
いるようです。
こういう形ですから、ファイルサイズは大きくなります。必要なモジュールを全
部まとめてできた実行可能なファイルは、結局、1.7M前後にも達しました。
というわけで、httpsアクセスに必要なものも含めて、ともかく、Perlのモジュ
ールをまとめるだけですから、プログラミングという意味では、どのモジュール
を使っても同じことです。だから、Win32::APIでも現状の形式でも、たぶん、私
にとっては同じことだと思います。(exeに梱包して配布できないモジュールは
使えませんが)
Best Regards,
Buckeye
[0211] 00/10/21 00:33 風葉(/Z7FKywOcl2): Re: cm_Plug-in.exe
> NT4.0+IE5.0だと問題ないのですが、Win95+IE5.0ではダイアログ初期化でINCMペ
何も情報源がありませんので、大したことをお訊き出来ませんが、私も.exeを使っている
以上、気になることがあります。
試行されたPlug-inは何れの環境でコンパイルされたものでしょうか。
全く参考になりませんが、私の場合はVC++6(NT5+IE5)で作成しました。
生憎とWindows98環境は残っておりませんので、実際に動作しているかは不安です。
# が、どなたからも反応がないので益々――。(-_-;
今回.exe配布されるとのことですが、これは必要となるモジュールが標準のものでないと
いうことは拝見致しましたが、.exeに拘っておいででしょうか。
そうでなければ、https部分をWinInet APIにやらせてしまう方が「楽」だと思います。
# あ、でもPerlのみでWinInetを使おうとするとWin32::APIが必要になりますね…。
[0210] 00/10/21 00:18 風葉(/Z7FKywOcl2): Re:quest quantity
別にムキになっているのではありませんので悪しからず。f(^^
> 予想ですが、サーバー負荷が問題になる状況では、あちこちからリク
> エストが掛かる状態が長時間続くわけで、そういう状況だとちょっとず
> つ長時間読むのも、短時間で読み込み済ませて他からのアクセスに帯域
> 譲るのも、ほとんど変わり無い気がするんですが、どうなんですかね…?
(Apacheでは(恐らくNCSA httpdやCERN httpdでも)複数のhttpd、4〜5プロセス位が常
駐していて、リクエストが来るとspawnする仕組みになっていたと思います。
# かなり怪しいです。(^^;
NetscapeやIISとなると(調べたこともないので)さっぱりです。
一般的に考えるとやはり、リクエストが短時間に集中する状況の方が計算機的にきついと
考えられますので、断続的なリクエストの方が「まだ」ましだと思います。
> 1ページ1記事形式のツリー系では必要な部分読んだらshutdownしてる
> ので、平均3/5程度しか読んでないはずです。画像も読まないですし。
う、私のPlug-inは最後まで読み込まないとパーザに掛けていません。(^^;
# メッセージが途中で切れていると困りますし。(^^)b
# …ごめんなさい。実はモジュールが対応していないだけです。f(^^
本題。
この時点で、CGIなどのサーバ側のプログラムが終了しているかしていないかはわかりま
せんので、実際に負荷軽減になっているかは疑問です。
CGIでしたら、出力は一旦httpd(或いはそのspawn)に渡されるので、クライアントが
ネットワークコネクションを切断したときには(余程出力が長くない限り)既にサーバ側
プログラムの実行が終了している可能性が大きいと思うのですが、如何でしょう。
> 纏読館のアクセスカウンタにこの機能付けてます(^^;;;
ご苦労さまです。
私も昔やっていましたので。(^^ゞ
# やはり次に弄ばれ(てい)るフィールドはSet-Cookieですね(笑)。
[0209] 00/10/20 11:11 Buckeye(UnTUYw5MC2c): Re:191)RE: 実行形式プラグインでINCM異常終了
これ、やっぱり発生します。
NT4.0+IE5.0だと問題ないのですが、Win95+IE5.0ではダイアログ初期化でINCMペ
ージ違反が発生し、異常終了します。Windowsを立ち上げなおしてみても、状況
は変わりません。巡回はNTでもWin95でも問題なくできます。
Win95しか持っていない人はダイアログ初期化ができないということになっちゃ
うんで、これ、まずいですね。ダイアログ初期化と巡回で、プラグインの実行形
式に何か違いがあるんでしょうか?
Best Regards,
Buckeye
[0208] 00/10/20 09:23 一 五明(YMjHyfzdazU): Re:207)リクエストの間隔と総量
>ただ、クライアント側から見れば何れも同等のリクエストと見倣せるとは思いますが、
>サーバ側の処理量は明らかに異なります。
「リクエスト間隔の短さ」が問題になるのは、同時平行して複数リク
エスト掛けるのが問題(高負荷)という意味に取ってましたが、リクエ
スト数/転送量の総量が変わらないとして、1リクエストが終了してから
次のリクエストを掛けると言うアルゴリズムの場合でも、その間隔が短
いと負荷が増えるんでしょうか?
(Yahooはオプションで2リクエストまでは同時平行しますが(^^;)
予想ですが、サーバー負荷が問題になる状況では、あちこちからリク
エストが掛かる状態が長時間続くわけで、そういう状況だとちょっとず
つ長時間読むのも、短時間で読み込み済ませて他からのアクセスに帯域
譲るのも、ほとんど変わり無い気がするんですが、どうなんですかね…?
(サーバー負荷が収まる時間帯まで引っ張れば話は別ですが)
転送量の総量に関しては、INCMプラグのほうが少ないはずです。
1ページ1記事形式のツリー系では必要な部分読んだらshutdownしてる
ので、平均3/5程度しか読んでないはずです。画像も読まないですし。
>昨今の計算機性能でこれが問題となるかは判りかねますが。
これは塵も積もれば…というやつで、十分なっているようです。
1ページ1記事でしか読めない掲示板は勘弁してほしいところではあり
ますね。せめてgeoboardみたいにHTML書き出し形式にしてCGI通す必要の
ないようにしてほしいです。
>「このページを参照しているページ」などと、Refererから抜き出したURLを並べていたり、
纏読館のアクセスカウンタにこの機能付けてます(^^;;;
http://kt.sakura.ne.jp/~timeflow/M/
[0207] 00/10/20 00:40 風葉(/Z7FKywOcl2): Re: /robots.txt
> 言えるかどうかは別にして、これはブラウザとのアクセスを区別する根拠に
> なるのでしょうか? 単にリクエスト間隔だけなら、ブラウザで複数画像貼っ
> たページ開いたときにも同じことが起きます。
確かに、ページ内コンテンツのリクエストについては失念しておりました。更に、往々に
してこちらの方がサイズも大きいですね。
# そういえば、かつてのMosaicはページ内の画像を全て読み終えるまでレイアウト
# (=表示)出来ませんでしたね。画像表示はオフにしていましたよ。
ただ、クライアント側から見れば何れも同等のリクエストと見倣せるとは思いますが、
サーバ側の処理量は明らかに異なります。
画像などの場合、単純にhttpdがファイルシステムから参照したものをそのまま送るとこ
ろを、INCM Plug-inの対象とされるリソースの殆どはサーバ側の何らかのプログラムの
実行結果です。
つまり、サーバが後者のリクエストを受けたときの処理量の方が前者のそれよりも大きい
ので、集中的にリクエストを受けるのは負荷になると思います。
# 下手をするとサーバアタック…と見倣されるのですかね。(^^;
昨今の計算機性能でこれが問題となるかは判りかねますが。
> >何と。いつの間にRFCになっていたのですか。何番でしょうか?
> >サーチエンジンに「RFC Robot」と掛けてみましたが引っ掛かりません。
>
> あ、これはうろ覚えなのでかなり怪しいです(^^;
先に挙げたWebCrawlerの作者M. Koster氏によるドラフトでしたら四つ、存在はしている
ようです。ただ、既に数年前に期限切れとなっていて久しいです。
# 実はこれも読んでいませんが。(^^A
> Refererといい、何かいたちごっこみたいですね。
黎明期には(というよりも確かRFC1945でも)このフィールドは任意で、当時のMosaicも
リクエストには付加していませんでした。
# そんな頃からCGI書いていたのか…。
で、その頃現れた「Netscape Navigator 1.12N」に乗り換えたと記憶しています。こちら
はRefererを付けていたと思います。多分。(^^;
「このページを参照しているページ」などと、Refererから抜き出したURLを並べていたり、
「このエージェントは云々」などと、User-Agentとその批評をずらずらと書き連ねている
ページを見かけると可哀相になります。ご苦労さま。
[0206] 00/10/19 11:12 でぐ(MVbPwfyRCtk): Re:98)RE: 詳細設定
毎々お世話になっております。
> ↓だいぶ前に書いたものですがこんなテキストもあります。
> http://www.gld.mmtr.or.jp/~naofumi/incm/file/incm_bbs_ini.txt
<タイプ>に「TD: テキストボックス(数字のみ)」というのがあるのですが、TSと同じように思われます。
数字以外の文字列を入力でき、incm_BBS.iniにも書き出されてしまいました。
次のVUpの際にでも、これは数字以外入力不可にしていただけないでしょうか?
http://degitian.portland.co.uk/index.xml
[0205] 00/10/19 09:15 一 五明(YMjHyfzdazU): Re:204)Re: /robots.txt
>ツリー形式のようにHTTP Requestを短い間隔で大量に発行すると思われる掲示板巡回では
>Robotといえるのではないでしょうか。
言えるかどうかは別にして、これはブラウザとのアクセスを区別する根拠に
なるのでしょうか? 単にリクエスト間隔だけなら、ブラウザで複数画像貼っ
たページ開いたときにも同じことが起きます。
ロボットが足枷をはめられる根拠としては他に、ロボットで取得したページは
人間が見てない場合が有る、というのが有りますが(ブラウザでも例えば縦長の
ページでページの下のほう見ずに上のほうのリンクでどっかに飛ぶケース等は多
いので個人的には疑問ですが)、掲示板巡回の場合読みたいから取ってくるので
あって、見てないというケース(読み切れない等)は無いとは言いませんが、ブ
ラウザのそれとの確率比較で言えばこれには該当しないと思います。
>何と。いつの間にRFCになっていたのですか。何番でしょうか?
>サーチエンジンに「RFC Robot」と掛けてみましたが引っ掛かりません。
あ、これはうろ覚えなのでかなり怪しいです(^^;
前に何度か、規約がどうとかうるさく書かれてたのを見た覚えはありますが、
インターネットの規約=RFCのようなイメージがあるので勘違いかもしれません。
>私は利用していないのでログを公開していた管理者ページからの情報になりますが、かの
>「WWWC」は「User-Agent: WWWC/1.00」と名乗っているようです。
これは知ってました。
今見てみたら、Mozillaに指定するオプションも無いようですね。
ちょっと調べてみたのですが、どうもMozillaでない場合の制限はサーバー単
位では、旧バージョンのHTMLソースを返して来るのが主体で、リクエストその
ものを切るケースはほとんど無いようです。
ただし、YahooのMyYahoo!サービスのように、サーバーは通してもCGIで却下の
タイプはあるみたいです(Yahoo掲示板はMozillaでなくても大丈夫なんですが)。
WWWCの場合、あまりCGIはチェック対象にしない(負荷が大きいのでなるべく
避けることを推奨している)ので、オプションも付けてないのだと思います。
確かに通常は自称で、オプションでMozilla可が望ましいかも知れませんね。
>「User-Agent」が無効化した昨今、そのうち「X-Mozilla」なるフィールドが出来るかも
>知れないですね(笑)。
Refererといい、何かいたちごっこみたいですね。
http://kt.sakura.ne.jp/~timeflow/M/
[0204] 00/10/18 23:49 風葉(/Z7FKywOcl2): Re: /robots.txt
> ユーザーが指定したところから拾ってくるのを、動かしている本人
> にもどこから拾ってくるか判らないサーチエンジン等と同列に置ける
> かどうかは疑問です。
ツリー形式のようにHTTP Requestを短い間隔で大量に発行すると思われる掲示板巡回では
Robotといえるのではないでしょうか。
# 今は一応、2秒ウエイトを入れています。
> ただ、どっちにしろ(GAEさんはどうか知りませんが)、私はRFCの
> ロボット規約だか何だかは納得行かないものがあるし、あれを全面改
> 訂して自動巡回の市民権の確立するのが夢の一つです。
何と。いつの間にRFCになっていたのですか。何番でしょうか?
サーチエンジンに「RFC Robot」と掛けてみましたが引っ掛かりません。
私はRFC1945と例のwebcrawlerサイトの情報を元に、3〜4年前に作った知識のまま現在に
至っているので…。(^^; 自分のサイトから放っていたRobotもこの状況。f(^^
# ちゃんと調べないと駄目ですね。
> Mozilla以外のリクエストを却下するサーバーが結構あるみたいなので
それは存じませんでした。これに関しては次のリビジョンでPlug-inのプロパティで設定
出来るようにしようと思います。
「/robots.txt」のチェックに関してもデフォルトでは有効になっていて、弾かれた場合
には無効に出来るようになっていますので、これと揃えて。
強制ではないにしろ、Robotに対するマナーがあることを知ってしまっている以上は少な
くともデフォルトでは従うようにするつもりです。
# そうなるとMETAタグも…。
参考までに。
私は利用していないのでログを公開していた管理者ページからの情報になりますが、かの
「WWWC」は「User-Agent: WWWC/1.00」と名乗っているようです。
「User-Agent」が無効化した昨今、そのうち「X-Mozilla」なるフィールドが出来るかも
知れないですね(笑)。
あぁ、HTML1.0をMuleで書いてMosaicで覗いていた時代が懐かしい。
# あ、勿論今もEmacs(Meadow)で書いてますが。
[0203] 00/10/18 09:30 一 五明(YMjHyfzdazU): Re:200)RE: /robots.txt
>ところで、GAEさんには先日メールにてお伝えしたのですが、巡回という操作は、人間が
>行う閲覧とは違い、機械的な処理であるので、Webロボットとしてのマナーに従うべきで
ユーザーが指定したところから拾ってくるのを、動かしている本人
にもどこから拾ってくるか判らないサーチエンジン等と同列に置ける
かどうかは疑問です。
ただ、どっちにしろ(GAEさんはどうか知りませんが)、私はRFCの
ロボット規約だか何だかは納得行かないものがあるし、あれを全面改
訂して自動巡回の市民権の確立するのが夢の一つです。
巡回クライアントの側に問題が問題が無いとは言いませんし(例えば
同一サーバーに同時に20も30もリクエスト掛けるような非人道的な?
ダウンロードツールがあるとか)、そういうのは改善する努力も必要
ですが、それ以前の偏見というのも相当に感じます。
「悪法も法であり、それと戦うなら法を遵守した上で、法の範囲内で
戦うべき」と言えばそうかもしれませんが、私はそこまで人間出来てな
いです。すみません。
>少なくともMozillaを名乗ることは止めるべきだと思います。
Mozilla以外のリクエストを却下するサーバーが結構あるみたいなので
これは仕方ないのではないでしょうか。私だって自分の作ったプログラム
が人の名前借りなきゃならないのは悔しいですよ…。
サーバー管理者側の偏見のほうが無くなれば、(意図的なクラックは
別にして)各自自分の名前を名乗るようになると思います。
http://kt.sakura.ne.jp/~timeflow/M/
[0202] 00/10/18 09:30 一 五明(YMjHyfzdazU): Re:201)RE: ユーザキャンセル時のあとかたづけ
>巡回時にユーザによって中断されたとき、何らかの終了処理をしようとPerlのシグナル
>ハンドラを設定して待ち構えていたのですが、何もシグナルを捕らえられませんでした。
>ENDセクションは勿論のこと、$SIG{'DEFAULT'}ですら駄目だったのですが、どのように
前にそういう話が出てましたが、$SIG{'INT'}で駄目でした?
結局うやむやになって実装されてないかも知れません。
>…こちらの掲示板もスレッド形式の方が便利ですね。
INCMで読む限りはどちらでも同じだと思うんですが、ブラウザで読む
場合にも配慮したほうがいいですかね?
http://kt.sakura.ne.jp/~timeflow/M/
[0201] 00/10/18 03:23 風葉(/Z7FKywOcl2): ユーザキャンセル時のあとかたづけ
巡回時にユーザによって中断されたとき、何らかの終了処理をしようとPerlのシグナル
ハンドラを設定して待ち構えていたのですが、何もシグナルを捕らえられませんでした。
ENDセクションは勿論のこと、$SIG{'DEFAULT'}ですら駄目だったのですが、どのように
すれば宜しいのでしょう。
ツリー形式の掲示板やネットニュースの場合、せめてその時点まで処理したメッセージ
を出力しておきたいのですが。
…こちらの掲示板もスレッド形式の方が便利ですね。
[0200] 00/10/18 03:15 風葉(/Z7FKywOcl2): /robots.txt
●Re: INCM本体のhttps対応
以前、Plug-inのテキスト処理以外は.exeでやらせようと思い、例のWinInet APIを使って
http(s)アクセスを書いたのですが、httpとhttpsの違いが接続時にフラグを加えるだけと
いう手軽さに吸収されていて、ごくあっさりコードを書くことができました。
只、バークレーソケット育ちの人間にはブラックボックス過ぎて使えませんでした。
生のHTTP Responseすら見させてくれないのですから。
現在、http周りをどのように実装されているかは存じませんが、Winsockでhttpsとなると
(試したことはないですが)やはり、OpenSSLを使うことになるのでしょうか。
# httpsだけWinInet APIで繋ぐというのが楽ですね。f(^^
●ロボット
ところで、GAEさんには先日メールにてお伝えしたのですが、巡回という操作は、人間が
行う閲覧とは違い、機械的な処理であるので、Webロボットとしてのマナーに従うべきで
はないかと思うのです。
Plug-inを作成するにあたり、幾つか無作為にソースを眺めさせて頂いたのですが、HTTP
Request中のUser-Agentフィールドの値が例によってMozillaを詐称しているのには驚きを
禁じ得ませんでした。
MSによるIEの主張も強引ですが、Mozilla機能を実装していないクライアントがそれを名
乗るのは問題があると思います。(実装しても名乗るのはまずいですね)
# 実際、こういったクライアントが多くなり、事実上User-Agentフィールドは意味を意
# 義を失っているようです。
少なくともMozillaを名乗ることは止めるべきだと思います。
INCM本体がリクエストを出している訳ではないのですが便宜上、私はPlug-inに――
User-Agent: INCM/1.21g Falcom/2.03
――と、INCMとPlug-inの名前とバージョン(リビジョン)をRFCに準拠した書式で名乗ら
せています。
また、ロボットの場合、/robots.txtやHTMLのMETAタグのRobotsにあるアクセス許可に従
ったり、Fromフィールドにメールアドレスを載せたりと、結構実装することがエチケット
とされる事項があります。
# 他にもRefererを付けるなど。これは必須ではないですが。
最小限の実装でも、サーバのルートディレクトリにある/robots.txtには従うべきかと思
います。
# 私のPlug-inもMETAタグは読んでいません。(^^;
こういったことを考えると、ネットワークアクセスに関してはINCM本体が行う乃至用意す
るか或いは、PerlならばLWPなどのライブラリを使用するなどの規格が必要なのではない
でしょうか。
# でも個人的にはLWPはちょっと…。
長文になりまして申し訳ありません。
更にもう一つお訊きしたいことがありますので、ここで一旦――。
[0199] 00/10/17 17:38 Buckeye(UnTUYw5MC2c): Re:197)サイズ
LHAで圧縮して、1MB弱になりました。
>>がんばります…
>>
>># しかし、今週末も時間があるかどうか怪しい…
まあ、こちらのテストにもう少し時間がかかりますから、あわてず、やってくだ
さいませ。予定表の上の方に書いておいていただければいいですから。
Best Regards,
Buckeye
[0198] 00/10/17 17:37 Buckeye(UnTUYw5MC2c): Re:195)[DIALOG]セクションの書き換えもできました
実行形式なら、やっぱり大丈夫ですね。ちゃんと、[DIALOG]セクションの書き換
えができました。
一応、できたと思うのですが、しばらく、仲間内で使ってみてから公開します。
Best Regards,
Buckeye
[0197] 00/10/17 17:29 GAE(3nxWzOCXjo.): Re:196)RE: INCM本体のhttps対応
1.7MB はデカいですね…。
LZH(lh7) で圧縮してどれくらいになるのでしょうか?
>あとは、INCM本体がhttpsに対応できれば、書き込みまで可能になるはずです。
>よろしくお願いしま〜す>GAEさん
がんばります…
# しかし、今週末も時間があるかどうか怪しい…
[0196] 00/10/17 14:35 Buckeye(UnTUYw5MC2c): Re:195)INCM本体のhttps対応
あとは、INCM本体がhttpsに対応できれば、書き込みまで可能になるはずです。
よろしくお願いしま〜す>GAEさん
Best Regards,
Buckeye
[0195] 00/10/17 14:34 Buckeye(UnTUYw5MC2c): Re:191)実行形式Perl、動作しました
プラグインの実行形態を考えたら、incm_BBS.iniを同じフォルダに放りこんで、
引数なしで単体実行させてもxxx.cm$を吐き出すはずということに気づいて、単
体試験をしてみました。そしたら、xxモジュールから呼んでいるモジュールが
ないと怒られてしまいました。
必要なモジュールを全部まとめてスタンドアローン実行ができるはずなのに、と
思いながら改めてドキュメントを読んでみると、use $modulnameみたいに変数で
ロードするモジュールはロードしないってありました。で、上記のxxモジュー
ルのリストを眺めていると、どうも、変数でuseしているようです。
useなんてダブって宣言してもいいはずだから、必要なモジュールを明示的に
useしてやりゃいいだろって、プラグインの冒頭にuseを書いてみると……別なモ
ジュールが足らんと怒られました。お、少なくとも、さっきのモジュールは「あ
る」と認識されたわけね。というわけで、ひとつひとつ、怒られては、use文を
書き加え、よーわからんところは、関連のありそうなモジュールを絨毯爆撃で追
加してみて……やりましたぁ! 単体実行に成功!!
この実行形式ファイルをPluginsフォルダに入れてみると……ちゃんと巡回する
じゃないですか。
ファイルサイズは、1,755Kとでっかくなりました。
まがりなりにもexeファイルなので、[DIALOG]セクションも書き換えが可能なは
ず……perl単体で動作試験をしてから変換すればいいはずですね。この辺りをク
リアしたら、とりあえず、暫定公開しようと思います>@nifty IW用プラグイン
配布については、ActiveStateのサイトにあるモジュールしか使っていなければ、
実行形式にして配布できるようです。他のところからモジュールを取ってきた場
合には、そのモジュールの配布条件を満たす必要があります。今回は、
ActiveStateのサイトからとってきたモジュールばかりなので、大丈夫でしょう。
Best Regards,
Buckeye
[0194] 00/10/16 21:48 Buckeye(UnTUYw5MC2c): Re:192)実行形式perlの配布
実行形式を作るソフトについては、そのソフトを使って作った実行形式の配布を
制限しないようです。とうぜん、ActivePerlとその標準ライブラリだけなら、実
行形式にして再配布は問題ないようです。
Perlがインストールされていないコンピューターでも実行できる実行形式も
作れることをウリのひとつとして、95ドルの価格でActiveStateが販売して
いるソフトなんですから、この辺りは当然でしょうね。
あとは、組み込むモジュールが再配布を許可していればいいということらしいで
す。細かいことは、添付文書と使用モジュール関連文書をもう少し詳しく読んで
みないとわかりません。
Best Regards,
Buckeye
[0193] 00/10/16 12:00 GAE(3nxWzOCXjo.): Re:192)とりあえず最後の発言に返信
※この掲示板はCMTプラグインで読み書きできます。
このところいろいろ問題山積み状態で、
中途半端な物を作ってしまったり、
発言してしまったりしたなぁと反省したりしてます(汗)
i での起動については、スクリプト内に[DIALOG]の設定が無い場合のみの動作です。
ただし僕の想像の中での話なので、
確認できる暇ができたら実際の動作を確認してみます。
で、ここで話題になってる、いろんなことの解決方法ですが、
新しい動作を定義した方が良いかもしれません。
とかいいつつ、実はよく問題をわかっていなかったり(汗)
問題と解決方法の案をまとめてもらえると嬉しいです。
機能をつぎはぎをしていって、機能を高める方法もありますが、
やっぱり一発で解決できて、感覚的にわかりやすいものが良いですから。
INCMをいじりまわす時間が無いので、提案があっても
実装されるのはいつになるのかさっぱり見当が付かないので申し訳無いのですが…。
[0192] 00/10/15 23:35 風葉(9S9Cv.e3uVg): Re: i
> この方法だと、巡回かけないと書き換えられないという欠点はあります。
そうなのです。先に挙げた標準パラメータの強制設定は、「i」で起動された場合の事項
です。勿論、通常起動時にも同様の処理は行っていますので、巡回/インポートを行えば
設定は有効になります。
詳細設定のようなPlug-in独自のパラメータは「i」の場合にも有効なのですが、やはり
標準のものはINCM本体の介入が否めませんね。
# プロパティの巡回設定タブの設定を全く使わない――というのも何ですし。
> @nifty IW用プラグインをちょこちょこいじりながら、ActivePerlのPDKによる実
> 行形式化(スタンドアローン実行可能形式)もトライしてみました。ところが、
利用していないので詳細が判らず申し訳ありませんが、再配布に際して何らかの制限が
あるなどといった問題はないのですか?
詳しくは判りませんが、(ActivePerlではなく)本家のPerlでは、配布制限はGPL或いは
アーティスティックライセンスのデュアルライセンス形式で、何れかを選択するように
なっているとどこかで斜め読んだ記憶があります。
私のPlug-inは.exeがActivePerlを呼び出すインターフェイス(とINI設定)の役割になっ
ています。これも問題があるかも知れませんが。
[0191] 00/10/15 13:28 Buckeye(UnTUYw5MC2c): Re:186)実行形式プラグインでINCM異常終了
@nifty IW用プラグインをちょこちょこいじりながら、ActivePerlのPDKによる実
行形式化(スタンドアローン実行可能形式)もトライしてみました。ところが、
exeにすると、INCMが異常終了します。
先日から、ダイアログ初期化のところをさんざんいじりたおしていたので、なに
かおかしなことになってしまったのかもしれないと思い、exe形式のプラグイン
を単体でi引数実行してみました。ちゃんと、incm_BBS.iniを処理してくれてい
るようです。
エラーメッセージは、以下のとおり(これから、なにかわかるんでしょうか)
-------------------------------
INCM のページ違反です。
モジュール : INCM.EXE、アドレス : 0137:00426226
Registers:
EAX=00000000 CS=0137 EIP=00426226 EFLGS=00010203
EBX=0000310e SS=013f ESP=0068e8c8 EBP=0068e8f8
ECX=00000c43 DS=013f ESI=00000000 FS=11c7
EDX=7efefeff ES=013f EDI=00bc90a8 GS=0000
Bytes at CS:EIP:
8b 06 03 d0 83 f0 ff 33 c2 8b 16 83 c6 04 a9 00
Stack dump:
0068f200 00008224 0068f1b4 00405d59 00bc90a8 00000000 0000310e 0068ea34 00000414 00bdb66c 0000310e 00000000 0068e904 00405b7d 0068ea34 0068e910
-------------------------------
ちなみに、ファイルサイズはかなり大きくなります。@nifty IW用プラグインの
場合で、23k→1,103kです。比較のためにcm_cmt.plも変換してみたところ、6k→
857kでした。
この異常終了、なんとかならないでしょうか>GAEさん
Best Regards,
Buckeye
[0190] 00/10/15 09:48 Buckeye(UnTUYw5MC2c): Re:189)Re: i
どうも、perl(というか拡張子がpl)などの場合には、i引数での呼び出しはな
くなっているみたいですね。今回の私のプラグインも、最終的には実行可能形式
で配布する予定なので、たぶん、その時点ではi引数による呼び出しが効くよう
になるんじゃないかと思われます。
>>特定のサイトのみのcgiの場合にはURL値、或いはHP値を強制的に設定したいですね。
これは、今でもやれますよ。i引数で呼ばれるのは、ダイアログ初期化のときで
すから。
スクリプトの頭で[BASIC]セクションを読み込んで、必要な項目を強制的に書き
換えます。スクリプトでその値を使った後、最後の終了処理で[BASIC]セクショ
ンを書き換えてしまえばいいのです(というか、サンプルを含め、ほとんどかそ
うなっている)。書き換えなくても、実行上は問題ありませんが、書き換えてお
いた方がユーザフレンドリーですね。
私が今作っているプラグインは、アクセスするurlの欄のタイトルに、「自動入
力(入力不要)」と書いてあります。@niftyだと、必要なのは認証欄とどのフォ
ーラムかの指定だけですから。あとは、プラグイン側で決め打ちします。
この方法だと、巡回かけないと書き換えられないという欠点はあります。
あと、ダイアログボックスに提示する文字(入力欄に入れるものではなく)は、
今のようにi引数で呼ばれなくなっていると、プラグイン側で巡回のたびに書き
換えるなどのことができません(書き換えておいても、人間が確認しようとダイ
アログを開くと元に戻ってしまう。いや〜、丸2日ほど悩みまくりました)。
Best Regards,
Buckeye
[0189] 00/10/14 23:54 風葉(9S9Cv.e3uVg): Re: i
> もしかして既に「Perl なんとか.pl i」形式で呼び出す機能は消し
> てあるのかも知れません。
INCM/1.21[eg]で試してみましたが、何れの場合も.exeでは問題なく呼ばれますが、.pl
では呼ばれていません。スクリプトは読んで調べるだけなのでしょうか。
また.exeであっても、[BASIC]の設定に関しては、INCM標準のパラメータ設定は無視され
ています。
特定のサイトのみのcgiの場合にはURL値、或いはHP値を強制的に設定したいですね。
[0188] 00/10/14 16:51 Buckeye(UnTUYw5MC2c): Re:187)具体的には……
動的というほどのものではありませんが、具体的には、以下のような話なのです。
@niftyのフォーラムは、1つに最大で20の電子会議室があります(私のところは、
サブフォーラム2つがまとまった形なので、最大で40の会議室が設置できます)。
フォルダプロパティの巡回タブで、フォーラムを指定するGOコマンドを入れると
ともに、詳細タブで巡回する会議室と各会議室の未読を設定します(もちろん、
未読値は空欄にしておけば、巡回後に自動的に入力されます)。
この詳細タブの会議室が、いま、MES 1、MES 1の未読値、MES 2、MES 2の未読値
という具合に20セット並んでいます(一番上に全会議室巡回というチェックボッ
クスも作ってありますが)。でも、何番会議室かではなく、その会議室のタイト
ルで覚えている人も多いはずなのです。そういう人は、MES1やMES2がどの会議室
にあたるのか、一覧表とつきあわせないと詳細タブの設定ができません。この設
定が楽になるように、巡回したら、詳細タブが以下のようになるように作りたい
のです。
MES 1: 第一会議室のタイトル
MES 1の未読ポインタ
MES 2: 第二会議室のタイトル
MES 2の未読ポインタ
巡回では会議室一覧のページを読み込むので、そのときついでに、開設されてい
る全会議室のタイトルを取得してしまえば、巡回しているところもしていないと
ころも、会議室タイトルを詳細タブに入力することが可能です。
今は、#TをMES01:第一会議室のタイトルとしてしのいでいます。フォルダビュー
を見れば、どれがどれかわかりますから。いずれにしても、会議室の並び順は番
号順にしたい(開設している側は、番号順に並べて意味のあるグループに分けて
いることが多い)ですしね。
Best Regards,
Buckeye
[次のページ]