【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
0052デフォルトの名無しさん
NGNGデモをコンパイルして動かしてみた。
ヘッダは表示されるのに、本文は表示されなかった。
昨日、ずっといじってたが、成果は出なかった。
日記はチラシの裏側(中略)な!
0053デフォルトの名無しさん
NGNGIndy9 しか使ったこと無いから他は知らんけど。
http://www.indyproject.org/ssl.html
ここから辿って OpenSSL DLLs for Indy をゲッツ。
とりあえず DLL は exe と同じフォルダに入れておく。
TIdHTTP と TIdSSLIOHandlerSocket をフォームに貼り付けるなりして使えるようにして
TIdHTTP の IOHandler プロパティに IdSSLIOHandlerSocket1 とかをセット。
あとは URL に https から始まる文字列をセットするだけ。
TIdHTTP 以外で使う場合は良く分からん。
005452
NGNGどうやら他の人はちゃんとメールが受け取れるようだな。
不思議不思議。
OSで違うもんなのだろうか?
「デモ動かしたけど、本文だけ受信しない」って人が現れるのを待つとするか…。
0055デフォルトの名無しさん
NGNGぱっと見ただけだけど、ヘッダだけ表示するように作ってある気がする。
本文も表示するように変更すれはいいんじゃないかと。
日本語ならSJISに変換しないとまともに読めないかもしれないけどね。
005652
NGNGレスどもどもです。
うーん。そーなのかなぁ?
一応、ツールボタンの3番目が受信かと思っていたのだが…。
今、見直してみたら「retrieve」って書いてあるなぁ…。
retrieveって、「検索」?
でも、一応「メモ」貼ってあるし…。ソレに本文出すようになってる
ようにしか見えないなぁ…。
はてはて。
005755
NGNG初めにメールのリストを取得して、その後メール本文を受信する仕様だったのね…。
やっぱ、ぱっと見ただけじゃ駄目だな。申し訳ない。
ってことで調べてみたんだけど、どうやら本文しかないメールの場合
Pred(Msg.MessageParts.Count) が -1 を返しているのが原因みたい。
試しに本文書いて添付ファイルを付けたメールを受信させてみると
うまくいったです。
なので、Pred(Msg.MessageParts.Count) が -1 の時は本文のみ、
そうじゃないときは添付ファイルあり、みたいな処理に変えないと駄目っぽい。
多分途中で仕様を変更したけど、サンプルはそのまま変更してないんでしょうね。
まぁ妥当な仕様変更だと思うけど。
005852
NGNGおお?レスどもどもどもです。
インストールした日に色々いじくってて、その辺が「違う感」があったんですが…。
添付ファイルですか…。
「ソレが変な値返してて、スルーされてんなー」とは思ってましたが。
うーん。
検索しても、「MailClientのデモが変だ」ってのがひっかからない(?)のは
あまりメールに関していじってる人が少ないのかな?
結局、「本文だけ」の場合はどーしたらいいのか、分からないままですが(^^;。
005952
NGNG一覧に出ない…。
試しにもう一つ、添付ファイル無しを送ったらソレは出てきた…。
うーん。ワケが分からん。
TIdText(Msg.MessageParts.Items[intIndex]).Body
↑
コレも怪しいんだよなぁ。
「//body text」って注釈入れてんのに。不思議不思議。
006052
NGNG自分で「ひっかからない」と書いたけど、検索方法を変えたら
そこそこあった。
んで、
分岐(コレはスルーされるから)の前に
TIdText(Msg.MessageParts.Items[intIndex]).Body ではなくて、
↓
memo1.Text:=msg.Body.Text;
ってやったら本文取れましたよ!
うーむ。
英語じゃなくて、ドイツ語の掲示板だったからよく分からんかったが、
ありがとう!ドイツ人!w
でも、こんなんでいいのだろうか…。とりあえず、もう寝ます。
006152
NGNG一応「本文」も取れるようになったんで「自分用・柔軟なスパム削除ツール」は
出来ました。
が!相変わらず添付メールは一覧されない…。
不思議不思議。
って、一応完成したから調べてないんだけどw
006252
NGNG何のことはない。自分んとこのプロバイダで添付ファイル付きメールをサーバーから
削除する設定にしてました…。
ほんま、すんまへん(^^;
ほな。
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGとりあえず日本語を勉強すれ
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGそんなに簡単なのかよ。迷ってたけど使おう!
TIdHTTPServer側はまだ分からんけど。
ライセンスも難かしかった筈だけど英文読むか。
006968
NGNGデモ見つけますた。
Components usedが
・TidHTTPServer
・TidServerInterceptOpenSSL
になってるので試してみまつ。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG9.00.17が出てるね
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGほい。まだ試して無いのでレポートきぼー。
SSLBuggy
http://www.indyproject.org/SSL.iwp
0074デフォルトの名無しさん
NGNG>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デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG変換するにはどうしたらイイのぉ?
アセンブラだと一発なの?
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGNKF32.dllでなおせばいいやん
0079デフォルトの名無しさん
NGNGこれは何に使うもんでしょう?
0080デフォルトの名無しさん
NGNG何に使うのか分からないのは、多分今の>>79には必要ないから、かな。
必要になった時にはSSL Buddyという名前だけで
ある程度予想が付くようになってるはず。
それまでは気にしなくていいと思うよ。
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGBCB5だと9.0.17はコンパイルエラー出たんだけど直ったYo!
0084デフォルトの名無しさん
NGNG↓
0085デフォルトの名無しさん
NGNG9.0.16から9.0.18の変更点ってどこに書いてあるの?
0086デフォルトの名無しさん
NGNG9.0.16からは9.0.17は知らないけど、9.0.17から9.0.18は IdVers.incの修正のみと
思われ。
008786
NGNG008852
NGNG検索してみたら「10にしたらいいんでないの?」ってやりとりが。
で、今10をDL中。
信用して良いんだろうか(^^;
008952
NGNGこりゃβ取れるのを待てという思し召しかしら?
0090デフォルトの名無しさん
NGNG009152
NGNGうーん。出来るものなら協力したいけど、
あっしなんかおこがましくてとんでもございませんって話ですよ。
「あーIndy使ったら楽にメールやりとり出来るな〜」くらいにしか
考えてなかったレベルなんで(^^;
「こーやりゃいいのか…(サンプル身ながら)」って適当に試行錯誤してるだけ状態。
009252
NGNG「見ながら」。
0093ななしへたぐらま ◆XcB18Bks.Y
NGNGクライアントからの命令をOnExecuteイベントではなくコマンドハンドラで処理すると
OnExceptionイベントハンドラ存在していても
例外生成時に接続が切れてしまいます.
OnExceptionイベントハンドラで例外が生成された場合は
OnExceptionイベントハンドラを実装することで接続は切れなくなったのですが….
コマンドハンドラを使う場合はコマンドハンドラごとに例外処理コードを書かないとダメなのでしょうか.
0094デフォルトの名無しさん
NGNGOnNoCommandHandler を使う。
0095ななしへたぐらま ◆XcB18Bks.Y
NGNGしかしうまくいきませんでした.
試行錯誤の結果,
IdTCPServerコンポのReplyExceptionCodeプロパティに0以外の値を入れることで
エラーをトラップしてくれるようになりました.
(ヘルプは精読しないといけないなと少し反省.)
しかしメッセージはエラーメッセージそのものになってしまうので…
901 リストのインデックスが範囲を超えています (0)
ちょっと恥ずかしいです.
これが嫌ならやはりコマンドハンドラごとにトラップしないと駄目かも.
0096デフォルトの名無しさん
NGNG009794
NGNGprocedure TForm1.IdTCPServer1NoCommandHandler(
ASender: TIdTCPServer;
const AData: String;
AThread: TIdPeerThread);
begin
try
// AData で各種コマンド処理
except
ShowMessage('例外発生');
end;
end;
コマンドハンドラ使わずに、こんな感じで処理するのは
どうかな、という話だったんだけどね。ま、好きな方を選んでくれっす。
0098デフォルトの名無しさん
NGNGインストール方法を教えてください。
0099デフォルトの名無しさん
NGNG010052
NGNG>>98
当方、delphiなので分からないけど、↑ではどう?
0101デフォルトの名無しさん
NGNGごく稀にEIdConnClosedGracefully例外が発生します。
稀過ぎてデバッグ中に発生したことがなく、発生原因がつかめません。
何が原因かわりますでしょうか?
IdPOP3.Connect();
Count:=IdPOP3.CheckMessage;
//ここで各メールのヘッダーを読みこんで新着を確認。
IdPOP3.Disconnect;
0102デフォルトの名無しさん
NGNGテストする時って同じPCではテスト出来ないの?
ネットのことを勉強しろって言われると思うけど、取り敢えず教えてくれ。
0103デフォルトの名無しさん
NGNGhttp://www.indyproject.org/KB/
ナレッジベースを活用しましょう。
>>102
受け取るプログラムも一緒に動かしておけば
同一PC上でもテストは出来ると思います。
でも何作ってるの?
0104102
NGNGIndyのUDPのデモを見たのですが、メッセージのやりとりが出来そうにない物ですから、
同じPCの中ではテスト出来ないのかなと思った次第です。
ブロードキャストとUDPは関係ない?
0105デフォルトの名無しさん
NGNG確か製品版には最初から付いてるんだよね?
製品版も、例外が出るのかな?
0106デフォルトの名無しさん
NGNG接続中にフォームの移動などを許可させるにはどうしたらいいのでしょうか?
0107デフォルトの名無しさん
NGNGおまえら検索しろ
EIdConnClosedGracefully
この例外クラスは,接続が正常に閉じられた場合に生成されます
>>106
TThreadを使う。
それが嫌ならIndyを使わない。
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNGAntiFreeze
0113107
NGNG0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGDelと同時で2年に1回で良いから。
0117デフォルトの名無しさん
NGNGttp://inagi.himitsukichi.com/~aozora/cgi-bin/pukiwiki/pukiwiki.php?Indy9%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
上見て、まず9.0.15を入れてみてみ。
0118デフォルトの名無しさん
NGNG面倒だからソースは追ってないが。
uses に IdHTTPを追加したときに確認。
0119デフォルトの名無しさん
NGNGということで>>118特攻してみれば?w
0120デフォルトの名無しさん
NGNGその際、HTTPヘッダに、Requestプロパティにない新しい項目を追加したいのですが、
ヘルプにはそれらしいものが見あたりません。
誰かおながいします
0122120
NGNGクッキーを添えて送信する
FIdHttp.Request.ExtraHeaders.Add('Cookie:NAME=HOGEHOGE'); // こんなかんじ
FIdHttp.Post(Url, Source, Res);
ありがとうございました
0123デフォルトの名無しさん
NGNGDelphiでなくBuilderつかってます。
IdHTTP1->Request->ExtraHeaders->Add("Cookie: NAME=mint; MAIL=sage;");
[C++ エラー] Unit1.cpp(24): E2316 'ExtraHeaders' は 'TIdHTTPRequest' のメンバーではない
0124デフォルトの名無しさん
NGNGIndy9でも入れれ。
0125デフォルトの名無しさん
NGNGちょっとしらべてみます。
古いIndyはアンインストールしなければいけないんでしたっけ?
0126デフォルトの名無しさん
NGNG・・・・・・・
0127デフォルトの名無しさん
NGNGおながいします
0128デフォルトの名無しさん
NGNGたぶんExtraHeaders->Strings->Add()とかだと思うけど
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNGIndy9から若干プロパティまわりが変更されてるからヘルプ見た方がいいよ。
IdHTTP1.Request にセットするのは TIdHTTPRequest
TIdHTTPRequestの SetHeadersメソッドで、TIdHeaderListを格納
TIdHeaderListはTStringListからの継承
0131130
NGNGvar
exHeaders: TIdHeaderList;
begin
exHeaders := TIdHeaderList.Create;
exHeaders.Add('hogehoge');
IdHTTP1.Request.CustomHeaders := exHeaders;
IdHTTP1.Request.SetHeaders;
(
)
0132123
NGNGありがとうございます!
0133デフォルトの名無しさん
NGNGTidHTTPと
TIdHTTPServer
で
IEなどのブラウザからのGETリクエストをTIdHTTPServerで受信して
そのURLをTIdHTTPで取って来て
そのデータにサーバ側でちょっとデータを付け足してIEに送り返すみたいな
ようは2CHの禁断の壷みたいなHTTPプロシキサーバをつくっているのですが
TIdHTTPServerは大きなデータを送り返すとIEでは”サーバが見つかりません”
になってしまうようなので
TIdHTTPServerで大きなデータを送り返す場合は、プロパティの設定などが必要なのですか?
知ってる人教えて!おねがいします。
0134133
NGNGじゃなくて
ContentStreamプロパティ
をつかえば送れそうです。
0135デフォルトの名無しさん
NGNG自分でzlibをincludeして、デコードするしかないんですか?
0136デフォルトの名無しさん
NGNG×IContent-Encoding
○Content-Encoding
です
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGわかりました。
0140デフォルトの名無しさん
NGNGHTMLかSGMLを編集できるコンポは無いでつか?
0141デフォルトの名無しさん
NGNGSynEditとかは?
0142デフォルトの名無しさん
NGNGUIWebBrowserと同じ作者さんが作っていたような気が。
0143デフォルトの名無しさん
NGNGつーか、スレ違いじゃない?
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNG日本人用じゃないからなのか、
日本語のメールだと例外が出ることがしばしば…。
などと保守。
0147デフォルトの名無しさん
NGNG原因調べてここで晒せ
と突っ込みつつ保守。
0148デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
Stream: TMemoryStream;
begin
Stream := TMemoryStream.Create;
IdMessage1.LoadFromFile(正しいフォーマットのファイル);
IdMessage1.SaveToFile(ちゃんとロードできたか?);
IdMessage1.SaveToStream(Stream);
IdMessage1.LoadFromStream(Stream);
IdMessage1.SaveToFile(ストリームからのロード);
Stream.Free;
end;
上記のコードで、「ちゃんとロードできたか?」のファイルはちゃんと出力されるのですが、
「ストリームからのロード」ファイルはDateヘッダと本文が空のメッセージが出力されます。
なぜでしょうか? いろいろいじくり回して一番簡単なテストコードを組んでみたつもりですが、
これから先に進めません。
環境はDelphi7+Indy9.0.18です。Delphi2005Trialでも試してみましたが同じようでした。
0149148
NGNGスーパアフォでした。
Stream.Position := 0;
が必要。ここで発見→http://www.web-one.org/new-5557661-4926.html
TStream使うの初めてなんだ許して
0150デフォルトの名無しさん
NGNG出来るもんなら、やっちゃるワイ。
それこそ外人にメールで報告しちゃるワイ。
ペラペラとな!
出来ねーっつーのw
と、返しで保守。
0151デフォルトの名無しさん
NGNGそれができるようになれば
ネ申と崇められるわ君のスキルは数倍上がるわそりゃあもう大騒ぎさ
ということでめげずに地道に追いかけろと他人事のように保守
■ このスレッドは過去ログ倉庫に格納されています