【Delphi】 Indyコンポーネント 【C++Builder】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGhttp://www.indyproject.org/
./\ /\
/:::::::ヽ____/::::::::ヽ、
/ ::. _ .::::::::::::: _::::ヽ_
/ / °ヽ_ヽv /:/ °ヽ::::::ヽ
/ /.( ̄( ̄__丶 ..( ̄(\ ::::| ぐぐってもわかんないよ〜
. | .:::::::: ) )/ / tーーー|ヽ) ) .::::: ::|
. | .::::...( (..||. | ( ( ::| だれかたすけて〜
. | :::. ) )| |⊂ニヽ .| ! ) ) ::::|
| : ( ( | | |:::T::::.| ( ( ::|
\: ) )ト--^^^^^┤ ) ) 丿
/ ( ( ( .( \
/ .、.) ) / \ _ \
INDY TIPS
http://monazilla.org/document/indytips.html
DelWiki - Indy
http://onigiri.s3.xrea.com:8080/delphi/index.php?Indy
Indy 日本語ヘルプ
http://www.borland.co.jp/delphi/del7docup.html
0153デフォルトの名無しさん
NGNG君もなー。
お互いなー。
ってことで保守。
>>152
おっしゃってる内容がよく分かりません。
0154デフォルトの名無しさん
NGNGこれですた…
ttp://www.indyproject.org/teams/Demo/demolisting80.html
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGthx!
0157コロスケ
05/01/20 01:43:220158デフォルトの名無しさん
05/01/31 14:45:47>Indy使ったときに、
>インターネットに接続していないと、
>ConnectionErrorとかダイアログが出てきますが、
>あのメッセージを自分で変更できないのですか?
>また、表示させない設定にはできないのでしょうか?
>ご存知の方、よろしくお願いします。
0159デフォルトの名無しさん
05/01/31 15:43:130160デフォルトの名無しさん
05/01/31 16:14:24とは何でしょうか?
0161デフォルトの名無しさん
05/01/31 16:19:220162デフォルトの名無しさん
05/01/31 20:40:01Automatic Installなんて便利なものがあったからいれたら
[致命的エラー] Unit1.pas(7): ユニット IdBaseComponent は異なるバージョン System.RTLVersion によりコンパイルされています
で使えなかった。
Service Pack 2
RTL Update 3 Delphi 6
両方当ててるんだけどな
0163デフォルトの名無しさん
05/01/31 20:52:26追加質問よろしいでしょうか?
try・・・でそのあとの命令文を試みて、
途中でエラー(例外?)が怒ったらexceptを、
起こらなかったらそれを無視して
exceptを通さず、そのまま次の行に行く。
try
begin
...
end;
except
begin
...
end;
ってな風に入れればよいのですか?
0164デフォルトの名無しさん
05/01/31 22:10:35テスト的に故意に例外作るなら零除算とかだけど、Abortって例外生成もあるからな。
0165デフォルトの名無しさん
05/02/01 08:23:37以前のバージョンのIndyのランタイムモジュールが残ってたりしない?
Windows\system32フォルダにあるのも削除して入れてみては?
0166デフォルトの名無しさん
05/02/01 09:02:17try
except
end;で解決。ありがとうございます。
0167デフォルトの名無しさん
05/02/02 14:52:170168デフォルトの名無しさん
05/02/10 00:35:19TIdSimpleServer使って、ソケットをListenしたままの状態で、Windowsを終了させようとすると、
OSからのアプリ強制終了シグナル(?)に反応せず、そのまま居残り続け、
「このアプリは応答しません。」が出てしまう。
どうすりゃよかっぺか・・・・・・・ TThread使って、Listenの時だけスレッド上で回しておくべきか・・・・
0169デフォルトの名無しさん
05/02/23 10:03:10アプリ毎にポート変えても、1台のPCでHTTPサーバー複数起動するとマズイでつか?
0170169
05/02/23 10:07:560171デフォルトの名無しさん
05/02/23 12:00:44APの終了処理が不適切なのでわ?
>>169
別に
>>170
できるっしょ
0172169
05/02/23 13:12:53でも、良くわかんないのが、プロパティがDefaultPortになっていますね。
Port番号が実行時に変わるんかよ、そんなの把握できないよ、みたいな。
0173デフォルトの名無しさん
05/02/24 07:30:450174デフォルトの名無しさん
05/02/24 08:14:55もう出てますが何か?
>>172
D7のヘルプにIndyの日本語版ヘルプが入ってるから
なぜ「Default」なのか読んでみれ
D6perだったらD7のヘルプアップデートをゴニョゴニョせい
0175デフォルトの名無しさん
05/02/24 08:44:500176169
05/02/24 09:59:51ヘルプみると、「Hypertext Transfer Protocol 仕様に基づいて,サーバーのリスニングスレッドのデフォルトポート番号」とありますね。
だから、仕様の名称そのまま取って、Default Portってことなんかなぁ。
色んな種類のサーバーアプリを作ってみようかと思うんですが、
業務毎にポート変えるってのはどうなんでしょ。
TCP/IP的には利用内容毎にポートを変えるということですが、
HTTPはポート80で固定して、参照アドレスでアプリ切り替えようかなぁ。
0177デフォルトの名無しさん
05/02/24 16:05:14おまいが知らなさ杉の気もするけど・・・。
0178デフォルトの名無しさん
05/02/24 16:31:400179デフォルトの名無しさん
05/02/24 17:09:48ググれ!と言いたいけど、まとまった情報があまりないし、FAQになりつつあるな・・・
BCBスレ辺りにテンプレにしておいた方がいいかも。一応、まとめたから添削よろしく。
まず、Indy10は今のところBCBをサポートしていない。あと、BCB6とIndy9が前提。
1.一度、BCBをアンインストールしてから、再インストール。
そのときに、完全インストールではなく、Indyは除外してインストールすること。もちろん、Update4を当てるのも忘れずに。
(BCBのインストーラーを起動してIndyだけ削除してもいいけど、トラブルの可能性あり。再インストール推奨。)
2.アーカイブを適当なフォルダで展開。
3.Indy_9_00_xx_srcの下にあるFullc6.batを実行
4.展開したフォルダにC6というフォルダが出来るので、これをフォルダごと$(BCB)\lib\にコピー。コピーしたら、フォルダ名をC6でなく、Indy9とする。
5.BCBを起動する。[ファイル]−[すべて閉じる]を選択して、プロジェクトが何も開かれていない状態にする。
6.IDEの[コンポーネント]−[パッケージのインストール]を選択。「追加」をクリックして、$(BCB)\lib\Indy9\dclIndy60.bplを選択。
7.IDEの[ツール]−[環境オプション]から[ライブラリ]タブを選択。
8.ライブラリパスに$(BCB)\lib\Indy9\を追加。
内容は↓を参考にした。
ttp://deuxdeux.hp.infoseek.co.jp/gikobuild.html
あと、漏れの環境だと[プロジェクト]−[オプション]−[ディレクトリ/条件]の
インクルードパスにも$(BCB)\lib\Indy9\を追加しないとリンカエラーが起きる。
それも、Includeの優先度を$(BCB)\include\vclより高くし無いと駄目。
0180デフォルトの名無しさん
05/02/24 17:36:47手段と目的が入れ替わっているような気がする
Delphi+Indyでやらなあかんもんなのかしばらく自問自答しれ
0181デフォルトの名無しさん
05/02/24 18:43:52やらなあかん。
0182デフォルトの名無しさん
05/02/25 08:09:36じゃあ止めないw
>>176の件はhttpだというのならブラウザでアクセスするんだろうから
Clientのことを考えればポートを変えるのは得策でない
よって最終行の方法を推奨する
Bindingsプロパティの「...」押せばどうやればいいかわかるっしょ
0183デフォルトの名無しさん
05/02/28 19:01:04いや、実はhttpでありながらブラウザじゃないんだ。
Winと機器の通信みたいな。
HTTPだとどこでもライブラリ有りだし、ルータ越えしやすいし。
となると、ポートはやっぱ80しかダメか。
0184デフォルトの名無しさん
05/03/01 08:25:25ルータ越えしやすいってそれは違うだろという突っ込みはともかく
普通のhttp通信に紛れ込ませたいのであれば80しかないだろうな
0185デフォルトの名無しさん
05/03/01 09:56:06IPv6対応してるかどうか聞かれたら、
何と答えれば良いのでしょうか?
0186デフォルトの名無しさん
05/03/01 10:01:430187デフォルトの名無しさん
05/03/01 10:03:170188デフォルトの名無しさん
05/03/03 11:17:110189デフォルトの名無しさん
05/03/03 15:06:34MessageID憶えておけば?
0190デフォルトの名無しさん
05/03/03 15:52:21UIDLをつかう
0191デフォルトの名無しさん
05/03/04 11:07:440192デフォルトの名無しさん
05/03/04 19:39:590193デフォルトの名無しさん
05/03/04 23:18:020194デフォルトの名無しさん
05/03/08 08:57:11その後認証ダイアログに入れられたユーザ、パスワードの取り方も知りたいし...
0195デフォルトの名無しさん
05/03/09 07:48:52サンプルは知らないけど、新月っていうP2PBBSのDelphi版で
IndyのTIdTCPServerを使ってBasic認証を使ってた。
この辺りを参考にしたらガリガリとならかけそう。スマートなやり方誰かキボンヌ
ttp://www.studyinghttp.net/auth
ttp://www.studyinghttp.net/rfc_ja/rfc2617.ja
ttp://www.ietf.org/rfc/rfc2617.txt
「WWW-Authenticate: Basic realm="hogehoge"」を含む
HTTP/1.0 401 Authorization Required を返すと
ブラウザがダイアログ出してパスワードとかが入れられて
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
とかでリクエストがもう一回来るから、Base64をデコードしたら userid:password ←コロンで区切ってある
が入っているらしい。
でいいかしら。
0196デフォルトの名無しさん
05/03/09 15:42:01uses に IdContext を手動で追加 (何故か自動では追加されないらしい)
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
if (ARequestInfo.AuthExists = True) and
(ARequestInfo.AuthUsername = 'username') and
(ArequestInfo.AuthPassword = 'password') then
begin
// Auth OK
// AResponseInfo.ResponseNo := 200;
end else
begin
// Auth NG
// AResponseInfo.ResponseNo := 401;
AResponseInfo.AuthRealm := 'input username and password'
end;
end;
Indy10 しか使ったことないので、Indy9 ではどうなのか分かんないけど。
0198デフォルトの名無しさん
05/03/10 15:44:08ありがとう。
こんなプロパティあるのね。Indy9でもありました。
0199デフォルトの名無しさん
05/03/12 05:09:02たとえば、sshでログインしてsftpでファイルの転送などはできるのでしょうか?
0200デフォルトの名無しさん
05/03/12 14:45:34ちょっと調べてみたら、Indy10 には IdSSH.pas という期待出来そうな名前のファイルが。
でも、中身は「作るとすればこんな感じかなぁ」という、要するに何も無い状態…。
つーことで今の所は自分で対応させる以外の方法はなさそうだね。
0201デフォルトの名無しさん
05/03/13 21:39:50繋がることは繋がるけど、すげぇ時間がかかるんだけど……
なんででしょうか?
なんかkeyかなんかの設定しないとダメなの?
ぐぐってもわかんないよ〜
0202201
05/03/13 21:45:26環境かかなくてすいません。
0203デフォルトの名無しさん
05/03/14 10:13:16DNS 絡みの問題じゃないのかな。名前解決がうまくいってないとか。
どのくらいの時間がかかるのか具体的な秒数が分かればなんとなく原因も分かりそう。
0204201
05/03/15 06:20:5040秒ぐらいかかります。
0205デフォルトの名無しさん
05/03/16 10:24:14もしかして、電子カルテのHL7プロトコル?
0206デフォルトの名無しさん
05/03/16 22:10:27Indyのヘルプより・・・
> TIdHL7 クラスは,HL7 Minimal Lower Layer Protocol を実装したものです。
0207デフォルトの名無しさん
05/03/20 18:15:03またそうじゃないとしたら手段はあるのでしょうか?
他のソフトで所得しているのを見ると、不思議で不思議でしょうがないです。
ご存知の方、よろしくおねがいします。
0208デフォルトの名無しさん
05/03/21 01:58:12そのパソコンがGIPを持っていれば取得できる
0209デフォルトの名無しさん
05/03/21 02:08:260210デフォルトの名無しさん
2005/03/24(木) 20:48:12http://www.overbyte.be/frame_index.html
このコンポの評判ってどうでしょうか?
0211デフォルトの名無しさん
2005/03/24(木) 21:06:12かちゅ〜しゃはそれらしい。
0212デフォルトの名無しさん
2005/03/24(木) 23:44:54正直どーなんだろう…)
0213デフォルトの名無しさん
2005/03/28(月) 09:15:550214デフォルトの名無しさん
2005/03/31(木) 19:45:48コンパイルとインストールは出来たけど、BCBはサポートされていないからなのか
実行時にエラーが出る。
それとも、やり方が間違ってるのかなあ?
0215デフォルトの名無しさん
皇紀2665/04/01(金) 00:14:47「無理!」って出てるんなら、無理なんだろうしw
0216デフォルトの名無しさん
NGNGポートを変更すると(Server、Clientとも同じ値)通信出来なくなってしまいます。
再起動すれば、新しく設定したポートで通信出来るのですが、
再起動しないでポートを変更し、通信することは出来ますか?
0217デフォルトの名無しさん
2005/04/04(月) 18:44:13AWorkCount値でプログレスバーを変化させようとしても全く表示が更新されません。
LabelコンポーネントにAWorkCountを入れたときのみリアルタイムで表示が変化します。
後ろにRePaintを置いてもだめです。TIdAntiFreezeも置いています。
なにがまずいのでしょうか。
0218217
2005/04/04(月) 18:48:04プログラム上はこれでいいと思っているのですが、他に何か入れるべき処理を
見落としているのでしょうか・・。
0219デフォルトの名無しさん
2005/04/06(水) 00:54:03ソース書いた方がイイかもしれませんよ。
AntiFreeze置くかわりに、イベントにApplication->ProcessMessages();
入れてもダメなら、TProgressBarの使い方に問題があると思います。
0220217
2005/04/07(木) 00:22:04Helpをよく読むと処理数が不明の場合は0が入るんですね。。
0221デフォルトの名無しさん
2005/04/20(水) 11:42:35cgiバイナリやisapi形式のDLLを実行したり出来待つか?
0222デフォルトの名無しさん
2005/04/20(水) 22:42:160223デフォルトの名無しさん
2005/04/22(金) 01:03:17言って、中村タンとやり合っているのだが、どういうプログラムを書くのかがさっぱり
分からんです。
1つのフォームに、TCPサーバーとクライアントを貼り付けて起動すると、
2個目起動したときにエラーで立ち上がらない。
誰か教えて。
0224デフォルトの名無しさん
2005/04/22(金) 04:19:040225デフォルトの名無しさん
2005/04/22(金) 08:43:37通信する時に全ポート番号に送信するって事でしょ?
メモリ共有とどっちがお勧め?(メモリ共有の方法は分かりました。)
0226225
2005/04/22(金) 09:32:37どもね。
0227デフォルトの名無しさん
2005/05/02(月) 03:33:49分からないけど、こんなに例外が出るんじゃ
配布出来ないなぁ。
オレは自分用だけに使ってるからいいけど。
どーなの?
ってことで保守。
0228デフォルトの名無しさん
2005/05/05(木) 16:52:500229デフォルトの名無しさん
2005/05/07(土) 05:25:53正常に接続が終了したときも例外が投げられるけども、ちゃんと無視してる?
0231デフォルトの名無しさん
2005/05/08(日) 01:15:34> 説明が足りなかったか。
むしろ >>227 では何一つ説明してませんが。
0233デフォルトの名無しさん
2005/05/11(水) 13:59:450234デフォルトの名無しさん
2005/05/13(金) 10:21:40回避方法教えて下さいでつ。
0235デフォルトの名無しさん
2005/05/13(金) 11:28:120236デフォルトの名無しさん
2005/05/13(金) 11:41:35( ゚∀゚)rape!!
0237デフォルトの名無しさん
2005/05/13(金) 15:14:450238デフォルトの名無しさん
2005/05/13(金) 15:28:49IdHTTP.Disconect;
0239238
2005/05/13(金) 15:31:29× IdHTTP.Disconect;
○ IdHTTP.Disconnect;
0240デフォルトの名無しさん
2005/05/13(金) 20:11:28受信プログラムをインストールしないで
ファイルのプッシュ配信を行いたいのですが
INDYでできますでしょうか?
0241デフォルトの名無しさん
2005/05/13(金) 21:03:29出来ます。
0242240
2005/05/13(金) 21:17:08必要なコンポーネントととりあえずの
使用方法を教えてくれませんでしょうか?
親PC=hostAのc:\a.txtを
子PC=hostBのc:\に同名でコピーする場合。
0243デフォルトの名無しさん
2005/05/13(金) 23:51:160244デフォルトの名無しさん
2005/05/14(土) 02:59:50x:ドライブで共有しているとして
CopyFile("c:\\a.txt","x:\\a.txt",false);
でうまくいくはず。(確認はしていません)
っていうか、これはindyの質問じゃないだろ?以後はC++Builderスレへ
0245デフォルトの名無しさん
2005/05/14(土) 03:22:270246242
2005/05/14(土) 23:41:33あいにくそういう用途ではありませんので。
社内業務に使うのです。イメージとしては
Nortonコーポレートエディションのクライアントへの
リモートインストールのように親PC主導の
プッシュ型でファイルを配信したいのです。
>>244
このやり方では、確かにINDY関係ありませんね(笑)
でもこれでは親が共有場所(X)を提供するまでは
できますが、ファイルコピー実行は子毎がやる必要がありますよね。
親からの命令で自動的に子に実行させる方法はWINDOWSのatコマンド
でタスクに登録したり、rexecコマンドで直接実行したりする方法が
ありますが、こういう方法しかないということでしょうか?
私はindy未使用のやり方を聞きたいのではなくindyでこういったこと
ができるかどうかが知りたいのです。
0247242
2005/05/14(土) 23:53:25このソフトも電源切断コンソールをリモートで
クライアントに配布できるんだけど
こういったことをしたいんです。
(わかりにくくてすみません)
0248デフォルトの名無しさん
2005/05/15(日) 02:11:36そんなことどこにも書いていないぞ
0249デフォルトの名無しさん
2005/05/15(日) 03:02:010250デフォルトの名無しさん
2005/05/15(日) 03:21:21セキュリティの脆弱性をついてみるのが手っ取り早いと思います。
セキュリティパッチが最新のものまで当ててあると難しいかと思います。
OSの詳細なバージョンを教えてください。
0251242
2005/05/15(日) 10:02:28「イメージとして」って書いてますが、逆にわかりづらかったでしょうか?
すみません。ファイル配布ができればokです。
>>250
子(クライアント)はwindows2000proとxpと混在です。セキュリティはアップデートで
重要な更新をパッチ済みレベルです。親も同様の環境での実現を希望しますが、
無理なら親だけserverですかね。
どちらにしてもindyコンポーネントで実現できないのであればスレ違いに
なりますので消えますが(241さんができるって即答だったもんで。。)
0252デフォルトの名無しさん
2005/05/15(日) 10:07:04できない。
indyを使わなくても出来ない。
あきらめろ。
■ このスレッドは過去ログ倉庫に格納されています