トップページ⇒tech
982コメント291KB

【Delphi】 Indyコンポーネント 【C++Builder】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
The Indy Project
http://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
0002デフォルトの名無しさんNGNG
次スレ
http://pc5.2ch.net/test/read.cgi/tech/1029123152/

***終了***
0003デフォルトの名無しさんNGNG
またDel厨ですか。
こないだは作ってくれくれ君で、今度は助けてくれくれ君がスレ立てましたか。
0004デフォルトの名無しさんNGNG
ついについにInsdyスレが
0005デフォルトの名無しさんNGNG
     ./\        /\
     /:::::::ヽ____/::::::::ヽ、
    / ::. _  .:::::::::::::  _::::ヽ_
  / / °ヽ_ヽv /:/ °ヽ::::::ヽ
 / /.( ̄( ̄__丶 ..( ̄(\  ::::|     ぐぐってもわかんないよ〜
. | .:::::::: )  )/ / tーーー|ヽ)  ) .::::: ::|
. | .::::...(  (..||.    | (  (    ::|     だれかたすけて〜
. | :::.  )  )| |⊂ニヽ .| ! )  )   ::::|
 | :  (  ( | |  |:::T::::.| (  (    ::|
 \:  )  )ト--^^^^^┤ )  )   丿
  / (  (        (  .(   \
/  .、.)  )       /  \  _ \

DEL厨をよく表したAAですねw
0006デフォルトの名無しさんNGNG
使い方がよくわからんのよね
ネットワークの知識に乏しい俺が悪いんだけど
Indyの使い方を覚えながらネットワークの知識も増やせたらいいな・・・
0007デフォルトの名無しさんNGNG
ドキュメント読んで分からんのなら止めとけ。
0008デフォルトの名無しさんNGNG
魔宮の伝説
0009デフォルトの名無しさんNGNG
>>6
TCP/UDPあたりの超基礎的知識すらないなら無理だな。
WinSock入門しとけ
0010デフォルトの名無しさんNGNG
idFTPってレジュームできますか?
分割ダウンロードを実装したいのですが……。
0011デフォルトの名無しさんNGNG
気合いで
0012デフォルトの名無しさんNGNG
可能なら方法を教えて欲しいのです。
RFCは読みましたしTClientSocketのほうで実装はしたのですが
Indyでやりたいので
0013デフォルトの名無しさんNGNG
procedure Get(const ASourceFile: string; ADest: TStream; AResume: Boolean = false); overload;
ヘルプ読め、世の中なめんな。
0014デフォルトの名無しさんNGNG
Indy in Depthってどうよ?

目次
http://www.atozed.com/indy/Book/TOC.iwp
0015デフォルトの名無しさんNGNG
IndyのHTTPサーバ使ってますが、
JavaWebStartのサーバなんて実装できるんでしょうか?
0016デフォルトの名無しさんNGNG
IndyのHTTPクライアントを使っていますが、
サーバ指定にIPアドレスとWindowsのサーバー名を利用していましたが、
WindowsXP SP2からIPアドレス指定でしか接続出来なくなりました。
何でしょうか。
0017デフォルトの名無しさんNGNG
>16
ファイアウォールでファイルとプリンタの共有を許可
0018デフォルトの名無しさんNGNG
TIdMessageを使ってメール送信アプリ作ってるんですけど
FromはいじらずにReturn-Pathヘッダーのみを好きなメアドに変えるには
どのようにすればよろしいでしょうか?
0019デフォルトの名無しさんNGNG
氏ね
0020デフォルトの名無しさんNGNG
>>19
お前がな。蛆虫野郎が。
0021デフォルトの名無しさんNGNG
IntraWebでポトペタで、
>何が素敵って、ASP.NETがVS.NETやIISぐるみでようやく実現したものを、
>Delphiに元からあったGUIビルダの使いまわしでもって、
>単独の実行ファイルに収めてしまうところが素敵。
らしいでつね。

IndyのHTTPサーバー使ったExeとIntraWebを組みあせたいんですが、
どういう方法がありますか?
アプリケーションサーバーを設定するのが面倒なので、
受信はIndy/HTTP Server-Exeのみとしたいでつ。
0022デフォルトの名無しさんNGNG
>>21
IntraWebは、スタンドアローン・モード(EXE)なら
サーバー機能を内蔵しているので、組み合わせる必要なし。

IntraWebについては、この辺を見るべし。
http://onigiri.s3.xrea.com:8080/delphi/index.php?IntraWeb
0023デフォルトの名無しさんNGNG
サンクス>>22
exe単位でちょこちょこっとページ改造したり、ページ増やしたりせるのが、利点みたいね。
簡易exeによるWebだね。

ちゃんとしたものも作れるのかな...
0024デフォルトの名無しさんNGNG
Apacheのモジュールにする事も出来るので、
かなり柔軟に対応できるはず。

> ちゃんとしたものも作れるのかな...
海外ではかなり評判が良い。
Readers Choice Awardsも連続受賞しているし
なんで日本人は使わないのか不思議。
0025デフォルトの名無しさんNGNG
Indyでメールサーバーを実装してる例なんかありますか?

自動返信アプリが作りたいので。
002625NGNG
もしかして、メールサーバー本体を作るのでなく、
メールクライアントアプリを作って常時起動しとけば良いのか?

詳しい人教えて下さい。
002725NGNG
自動返信メールのアプリケーション一般を知ろうと思って、
ぐぐりましたがメールソフトの使い方しか無いよう。

スレッドにもメール・アプリケーションみたいな文字は見当たらないし、
「自動返信・メール・アプリケーション」という呼び名が違ってんのかな。

とりあえず、一般的な知識が欲しいでつ。最終的にはIndyの知識まで要るんですけど。
0028デフォルトの名無しさんNGNG
もっと仕様をわけろ。

・メールサーバからメールを受信する
・(必要であれば)返信すべきメールか判断
・メールサーバへ返信メールを送信する
0029デフォルトの名無しさんNGNG
>>28
まさにその通りです。

質問カキコ中には、メールサーバーのアプリとして実装しようかと思っていましたが、
メールクライアントとして作った方が絶対楽ですよね?
003025NGNG
メール文字ってのはUTF-8が使えなくて、
>charset="iso-2022-jp"
とかになるんだろうか。

多国語を考えるとメンドウ。避けるべきかな。
HTTPならUTF-8で良いし、Delphiの中の人もAsciiのつもりで扱ってくれるし。
0031デフォルトの名無しさんNGNG
メールアプリ作ってる識者のレス希望
0032デフォルトの名無しさんNGNG
Indy/HttpServerで、BASIC認証出せますか?
0033デフォルトの名無しさんNGNG
Indyでメールアプリ作った椰子回答しる!
お願い。
0034デフォルトの名無しさんNGNG
RFC嫁
0035デフォルトの名無しさんNGNG
>>33
付属サンプルになかったっけ?
0036デフォルトの名無しさんNGNG
>>25
仕様は>>28のがいい。下手なメールサーバを作ると踏み台にされるぞw
>>30については古いメールサーバが7bitしか通さないのと
機種により制御文字が違うので7bitかつ可読文字だけで
やりとりするようにしている。
とはいえIndyだとMIMEエンコード/デコードがあるのでそれを使えばいい。
(バグっているのは秘密だ)
まあ後は自分で試行錯誤しれ。
0037デフォルトの名無しさんNGNG
最新のindyのインストール方法がわかりません
教えてくださいエロイ人
0038デフォルトの名無しさんNGNG
exeだからダブルクリックでオート
0039デフォルトの名無しさんNGNG
>>37
http://gamdev.org/w/?%5B%5BDelphi6Personal%A4%CBIndy9%A4%F2%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A4%B9%A4%EB%CA%FD%CB%A1%5D%5D
0040デフォルトの名無しさんNGNG
ギ粉日の開発環境設定手順サイトがあったけど、
完成すると最新IndyになるYO!
0041デフォルトの名無しさんNGNG
サンクス>>36
メールクライアントにしてみます。

メールクライアントで文書をやり取りするサービスを作って、
そのアクセスをDBに記録したりすると、
デスクトップアプリをポトペタする感じでなんか高度なアプリが出来そうですね。
0042デフォルトの名無しさんNGNG
メールクライアントベースのアプリケーションの一般論でもあればイメージわきやすいが、説明サイトも無いみたいだね。
0043デフォルトの名無しさんNGNG
rfc読めよ
0044デフォルトの名無しさんNGNG
そういうレベルじゃなくて、メールの自動応答アプリ(これはカタログは見つかった)とか、アプリベースの話。
0045デフォルトの名無しさんNGNG
>とはいえIndyだとMIMEエンコード/デコードがあるのでそれを使えばいい。
>(バグっているのは秘密だ)

これ詳細教えてage!
0046デフォルトの名無しさんNGNG
>>45
昔のやつだと3バイトの倍数でないと最後の(Length mod 3)バイトがおかしくなる。
なお、最新版では治っているようだ。詳細はidCoderHeaderを見れ。
0047デフォルトの名無しさんNGNG
サンクスage!>>46
直ってるのはうれしい。
けど、他人とコンパイル環境合わせないといけないのでバージョンアプするか検討。
0048デフォルトの名無しさんNGNG
C++Builder6にインストールしようとしているのですが、

コンポーネント→パッケージのインストール→追加

でIndyを追加しようとしているのですが、

「プロシージャエントリポイント@Idresourcestrings@_RSBindingAnyがダイナミックリンクライブラリIndy60.bplから見つかりませんでした。」

と出てインストールできないのですが、どなたか解決方法をご存じないでしょうか?
0049デフォルトの名無しさんNGNG
どっかのスレでみたけど、
古い印ディーを抜いてから、
新い印ディーを入れる。
0050デフォルトの名無しさんNGNG
Version 8.0.25 の TIdTelnetServer で、
認証時のエコーをしないようにしたいんだけど、
どうしたらいいの?
0051デフォルトの名無しさんNGNG
Indy+SSLの詳しい説明、期本ぬ
0052デフォルトの名無しさんNGNG
初めてindy9入れてみた。
デモをコンパイルして動かしてみた。
ヘッダは表示されるのに、本文は表示されなかった。
昨日、ずっといじってたが、成果は出なかった。

日記はチラシの裏側(中略)な!
0053デフォルトの名無しさんNGNG
>>51
Indy9 しか使ったこと無いから他は知らんけど。

http://www.indyproject.org/ssl.html

ここから辿って OpenSSL DLLs for Indy をゲッツ。
とりあえず DLL は exe と同じフォルダに入れておく。

TIdHTTP と TIdSSLIOHandlerSocket をフォームに貼り付けるなりして使えるようにして
TIdHTTP の IOHandler プロパティに IdSSLIOHandlerSocket1 とかをセット。
あとは URL に https から始まる文字列をセットするだけ。
TIdHTTP 以外で使う場合は良く分からん。
005452NGNG
ふーむ。
どうやら他の人はちゃんとメールが受け取れるようだな。
不思議不思議。
OSで違うもんなのだろうか?
「デモ動かしたけど、本文だけ受信しない」って人が現れるのを待つとするか…。
0055デフォルトの名無しさんNGNG
>>54
ぱっと見ただけだけど、ヘッダだけ表示するように作ってある気がする。
本文も表示するように変更すれはいいんじゃないかと。
日本語ならSJISに変換しないとまともに読めないかもしれないけどね。
005652NGNG
>>55
レスどもどもです。
うーん。そーなのかなぁ?
一応、ツールボタンの3番目が受信かと思っていたのだが…。
今、見直してみたら「retrieve」って書いてあるなぁ…。
retrieveって、「検索」?
でも、一応「メモ」貼ってあるし…。ソレに本文出すようになってる
ようにしか見えないなぁ…。
はてはて。
005755NGNG
>>56
初めにメールのリストを取得して、その後メール本文を受信する仕様だったのね…。
やっぱ、ぱっと見ただけじゃ駄目だな。申し訳ない。

ってことで調べてみたんだけど、どうやら本文しかないメールの場合
Pred(Msg.MessageParts.Count) が -1 を返しているのが原因みたい。
試しに本文書いて添付ファイルを付けたメールを受信させてみると
うまくいったです。

なので、Pred(Msg.MessageParts.Count) が -1 の時は本文のみ、
そうじゃないときは添付ファイルあり、みたいな処理に変えないと駄目っぽい。
多分途中で仕様を変更したけど、サンプルはそのまま変更してないんでしょうね。
まぁ妥当な仕様変更だと思うけど。
005852NGNG
>>57
おお?レスどもどもどもです。
インストールした日に色々いじくってて、その辺が「違う感」があったんですが…。
添付ファイルですか…。
「ソレが変な値返してて、スルーされてんなー」とは思ってましたが。
うーん。

検索しても、「MailClientのデモが変だ」ってのがひっかからない(?)のは
あまりメールに関していじってる人が少ないのかな?
結局、「本文だけ」の場合はどーしたらいいのか、分からないままですが(^^;。
005952NGNG
おろろ。添付ファイル付きを自分のメルアドに送ってみたけど、
一覧に出ない…。
試しにもう一つ、添付ファイル無しを送ったらソレは出てきた…。
うーん。ワケが分からん。

TIdText(Msg.MessageParts.Items[intIndex]).Body
↑
コレも怪しいんだよなぁ。

「//body text」って注釈入れてんのに。不思議不思議。
006052NGNG
連続スマソ。

自分で「ひっかからない」と書いたけど、検索方法を変えたら
そこそこあった。

んで、
分岐(コレはスルーされるから)の前に
TIdText(Msg.MessageParts.Items[intIndex]).Body ではなくて、
↓
memo1.Text:=msg.Body.Text;
ってやったら本文取れましたよ!

うーむ。
英語じゃなくて、ドイツ語の掲示板だったからよく分からんかったが、
ありがとう!ドイツ人!w

でも、こんなんでいいのだろうか…。とりあえず、もう寝ます。
006152NGNG
ありゃ、また連続か…。

一応「本文」も取れるようになったんで「自分用・柔軟なスパム削除ツール」は
出来ました。

が!相変わらず添付メールは一覧されない…。
不思議不思議。

って、一応完成したから調べてないんだけどw
006252NGNG
すんまへん。ほんま、すんまへん。
何のことはない。自分んとこのプロバイダで添付ファイル付きメールをサーバーから
削除する設定にしてました…。
ほんま、すんまへん(^^;
ほな。
0063デフォルトの名無しさんNGNG
Indy10はいつですのですか?
0064デフォルトの名無しさんNGNG
>>63
とりあえず日本語を勉強すれ
0065デフォルトの名無しさんNGNG
最後の「ですの?」は余計だったな。
0066デフォルトの名無しさんNGNG
Indy10はいつですにょ?
0067本田NGNG
>>63
http://www.indyproject.org/download/Borland.html
0068デフォルトの名無しさんNGNG
マジかよ!超サンクス>>53
そんなに簡単なのかよ。迷ってたけど使おう!

TIdHTTPServer側はまだ分からんけど。
ライセンスも難かしかった筈だけど英文読むか。
006968NGNG
http://www.indyproject.org/teams/Demo/demolisting80.html

デモ見つけますた。

Components usedが
・TidHTTPServer
・TidServerInterceptOpenSSL
になってるので試してみまつ。
0070デフォルトの名無しさんNGNG
保守
0071デフォルトの名無しさんNGNG

9.00.17が出てるね

0072デフォルトの名無しさんNGNG
9が出たせいか、Indy OpenSSL DLL's for Indy ページ消えた!
0073デフォルトの名無しさんNGNG
>>72
ほい。まだ試して無いのでレポートきぼー。

SSLBuggy
http://www.indyproject.org/SSL.iwp
0074デフォルトの名無しさんNGNG
>No Inherent License
>Indy allows you to do SSL by providing the code,
> but we do not provide a license to use SSL.
> If you use SSL, it is up to you to make sure that you are legally permitted to use it
> in the country you are in and for your application.

ライセンス難しそう。
国によって使えないと。
それ以外は自由なのか?
0075デフォルトの名無しさんNGNG
C++Builderへのインストール方法とかが書いてあるページって無いの?
0076デフォルトの名無しさんNGNG
GETしたらeucってやつだから文字化けしちゃうよ〜
変換するにはどうしたらイイのぉ?
アセンブラだと一発なの?
0077デフォルトの名無しさんNGNG
釣り?
0078デフォルトの名無しさんNGNG
>>76
NKF32.dllでなおせばいいやん
0079デフォルトの名無しさんNGNG
IndyページからSSL Buddyのインストーラ落としました。
これは何に使うもんでしょう?
0080デフォルトの名無しさんNGNG
>>79
何に使うのか分からないのは、多分今の>>79には必要ないから、かな。
必要になった時にはSSL Buddyという名前だけで
ある程度予想が付くようになってるはず。
それまでは気にしなくていいと思うよ。
0081デフォルトの名無しさんNGNG
SSL Buddy教えて!
0082デフォルトの名無しさんNGNG
Indy普及のためには意地悪せず、教えあおうYO!
0083デフォルトの名無しさんNGNG
9.0.18age

BCB5だと9.0.17はコンパイルエラー出たんだけど直ったYo!
0084デフォルトの名無しさんNGNG
IndyのSSL Buddyとは、



↓
0085デフォルトの名無しさんNGNG
変更
9.0.16から9.0.18の変更点ってどこに書いてあるの?
0086デフォルトの名無しさんNGNG
>>85
9.0.16からは9.0.17は知らないけど、9.0.17から9.0.18は IdVers.incの修正のみと
思われ。
008786NGNG
あ、IdGrobal.pasが抜けてた
008852NGNG
「uneven size in decodetostream」って例外が出たんで、
検索してみたら「10にしたらいいんでないの?」ってやりとりが。
で、今10をDL中。
信用して良いんだろうか(^^;
008952NGNG
うーむ。DLしたは良いがインストール方法がさっぱりw
こりゃβ取れるのを待てという思し召しかしら?
0090デフォルトの名無しさんNGNG
どっちかというとβが取れるように協力しろ、ってことなのではないかと。
009152NGNG
>>90
うーん。出来るものなら協力したいけど、
あっしなんかおこがましくてとんでもございませんって話ですよ。
「あーIndy使ったら楽にメールやりとり出来るな〜」くらいにしか
考えてなかったレベルなんで(^^;
「こーやりゃいいのか…(サンプル身ながら)」って適当に試行錯誤してるだけ状態。
009252NGNG
ありゃ、誤字…。
「見ながら」。
0093ななしへたぐらま ◆XcB18Bks.Y NGNG
Indy 9.0.18のIdTCPServer/IdTCPClientコンポでクライアント/サーバーアプリを作っています.

クライアントからの命令をOnExecuteイベントではなくコマンドハンドラで処理すると
OnExceptionイベントハンドラ存在していても
例外生成時に接続が切れてしまいます.

OnExceptionイベントハンドラで例外が生成された場合は
OnExceptionイベントハンドラを実装することで接続は切れなくなったのですが….
コマンドハンドラを使う場合はコマンドハンドラごとに例外処理コードを書かないとダメなのでしょうか.
0094デフォルトの名無しさんNGNG
>>93
OnNoCommandHandler を使う。
0095ななしへたぐらま ◆XcB18Bks.Y NGNG
レスありがとうございます.
しかしうまくいきませんでした.

試行錯誤の結果,
IdTCPServerコンポのReplyExceptionCodeプロパティに0以外の値を入れることで
エラーをトラップしてくれるようになりました.
(ヘルプは精読しないといけないなと少し反省.)
しかしメッセージはエラーメッセージそのものになってしまうので…

  901 リストのインデックスが範囲を超えています (0)

ちょっと恥ずかしいです.
これが嫌ならやはりコマンドハンドラごとにトラップしないと駄目かも.
0096デフォルトの名無しさんNGNG
IndyのSSL Buddyを使ってる人居まつか?
009794NGNG
>>95
procedure TForm1.IdTCPServer1NoCommandHandler(
 ASender: TIdTCPServer;
 const AData: String;
 AThread: TIdPeerThread);
begin
 try
  // AData で各種コマンド処理
 except
  ShowMessage('例外発生');
 end;
end;

コマンドハンドラ使わずに、こんな感じで処理するのは
どうかな、という話だったんだけどね。ま、好きな方を選んでくれっす。
0098デフォルトの名無しさんNGNG
C++Builderで使っている人いますか?
インストール方法を教えてください。
0099デフォルトの名無しさんNGNG
Pro版のCD-ROMの中の人がインストールしてくれます。
010052NGNG
ttp://inagi.himitsukichi.com/~aozora/cgi-bin/pukiwiki/pukiwiki.php?Indy9%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
>>98
当方、delphiなので分からないけど、↑ではどう?
0101デフォルトの名無しさんNGNG
TIdPOP3でメールの受信チェックをしていますが、
ごく稀にEIdConnClosedGracefully例外が発生します。
稀過ぎてデバッグ中に発生したことがなく、発生原因がつかめません。
何が原因かわりますでしょうか?

IdPOP3.Connect();
Count:=IdPOP3.CheckMessage;
//ここで各メールのヘッダーを読みこんで新着を確認。
IdPOP3.Disconnect;
■ このスレッドは過去ログ倉庫に格納されています