【Delphi】 Indyコンポーネント 【C++Builder】
またDel厨ですか。
こないだは作ってくれくれ君で、今度は助けてくれくれ君がスレ立てましたか。
ついについにInsdyスレが
5 :
デフォルトの名無しさん:04/08/28 10:03
./\ /\
/:::::::ヽ____/::::::::ヽ、
/ ::. _ .::::::::::::: _::::ヽ_
/ / °ヽ_ヽv /:/ °ヽ::::::ヽ
/ /.( ̄( ̄__丶 ..( ̄(\ ::::| ぐぐってもわかんないよ~
. | .:::::::: ) )/ / tーーー|ヽ) ) .::::: ::|
. | .::::...( (..||. | ( ( ::| だれかたすけて~
. | :::. ) )| |⊂ニヽ .| ! ) ) ::::|
| : ( ( | | |:::T::::.| ( ( ::|
\: ) )ト--^^^^^┤ ) ) 丿
/ ( ( ( .( \
/ .、.) ) / \ _ \
DEL厨をよく表したAAですねw
使い方がよくわからんのよね
ネットワークの知識に乏しい俺が悪いんだけど
Indyの使い方を覚えながらネットワークの知識も増やせたらいいな・・・
ドキュメント読んで分からんのなら止めとけ。
魔宮の伝説
>>6 TCP/UDPあたりの超基礎的知識すらないなら無理だな。
WinSock入門しとけ
10 :
デフォルトの名無しさん:04/08/29 15:31
idFTPってレジュームできますか?
分割ダウンロードを実装したいのですが……。
気合いで
12 :
デフォルトの名無しさん:04/08/29 15:39
可能なら方法を教えて欲しいのです。
RFCは読みましたしTClientSocketのほうで実装はしたのですが
Indyでやりたいので
procedure Get(const ASourceFile: string; ADest: TStream; AResume: Boolean = false); overload;
ヘルプ読め、世の中なめんな。
15 :
デフォルトの名無しさん:04/09/08 19:31
IndyのHTTPサーバ使ってますが、
JavaWebStartのサーバなんて実装できるんでしょうか?
16 :
デフォルトの名無しさん:04/09/21 17:27:12
IndyのHTTPクライアントを使っていますが、
サーバ指定にIPアドレスとWindowsのサーバー名を利用していましたが、
WindowsXP SP2からIPアドレス指定でしか接続出来なくなりました。
何でしょうか。
>16
ファイアウォールでファイルとプリンタの共有を許可
18 :
デフォルトの名無しさん:04/09/24 22:23:22
TIdMessageを使ってメール送信アプリ作ってるんですけど
FromはいじらずにReturn-Pathヘッダーのみを好きなメアドに変えるには
どのようにすればよろしいでしょうか?
氏ね
20 :
デフォルトの名無しさん:04/09/25 13:47:48
21 :
デフォルトの名無しさん:04/09/27 11:18:58
IntraWebでポトペタで、
>何が素敵って、ASP.NETがVS.NETやIISぐるみでようやく実現したものを、
>Delphiに元からあったGUIビルダの使いまわしでもって、
>単独の実行ファイルに収めてしまうところが素敵。
らしいでつね。
IndyのHTTPサーバー使ったExeとIntraWebを組みあせたいんですが、
どういう方法がありますか?
アプリケーションサーバーを設定するのが面倒なので、
受信はIndy/HTTP Server-Exeのみとしたいでつ。
サンクス
>>22 exe単位でちょこちょこっとページ改造したり、ページ増やしたりせるのが、利点みたいね。
簡易exeによるWebだね。
ちゃんとしたものも作れるのかな...
Apacheのモジュールにする事も出来るので、
かなり柔軟に対応できるはず。
> ちゃんとしたものも作れるのかな...
海外ではかなり評判が良い。
Readers Choice Awardsも連続受賞しているし
なんで日本人は使わないのか不思議。
25 :
デフォルトの名無しさん:04/09/28 08:46:03
Indyでメールサーバーを実装してる例なんかありますか?
自動返信アプリが作りたいので。
もしかして、メールサーバー本体を作るのでなく、
メールクライアントアプリを作って常時起動しとけば良いのか?
詳しい人教えて下さい。
自動返信メールのアプリケーション一般を知ろうと思って、
ぐぐりましたがメールソフトの使い方しか無いよう。
スレッドにもメール・アプリケーションみたいな文字は見当たらないし、
「自動返信・メール・アプリケーション」という呼び名が違ってんのかな。
とりあえず、一般的な知識が欲しいでつ。最終的にはIndyの知識まで要るんですけど。
もっと仕様をわけろ。
・メールサーバからメールを受信する
・(必要であれば)返信すべきメールか判断
・メールサーバへ返信メールを送信する
29 :
デフォルトの名無しさん:04/09/28 10:48:51
>>28 まさにその通りです。
質問カキコ中には、メールサーバーのアプリとして実装しようかと思っていましたが、
メールクライアントとして作った方が絶対楽ですよね?
メール文字ってのはUTF-8が使えなくて、
>charset="iso-2022-jp"
とかになるんだろうか。
多国語を考えるとメンドウ。避けるべきかな。
HTTPならUTF-8で良いし、Delphiの中の人もAsciiのつもりで扱ってくれるし。
31 :
デフォルトの名無しさん:04/09/29 08:54:42
メールアプリ作ってる識者のレス希望
32 :
デフォルトの名無しさん:04/09/29 13:51:45
Indy/HttpServerで、BASIC認証出せますか?
33 :
デフォルトの名無しさん:04/10/01 09:16:01
Indyでメールアプリ作った椰子回答しる!
お願い。
RFC嫁
>>25 仕様は
>>28のがいい。下手なメールサーバを作ると踏み台にされるぞw
>>30については古いメールサーバが7bitしか通さないのと
機種により制御文字が違うので7bitかつ可読文字だけで
やりとりするようにしている。
とはいえIndyだとMIMEエンコード/デコードがあるのでそれを使えばいい。
(バグっているのは秘密だ)
まあ後は自分で試行錯誤しれ。
37 :
デフォルトの名無しさん:04/10/01 16:01:56
最新のindyのインストール方法がわかりません
教えてくださいエロイ人
exeだからダブルクリックでオート
40 :
デフォルトの名無しさん:04/10/02 11:13:55
ギ粉日の開発環境設定手順サイトがあったけど、
完成すると最新IndyになるYO!
41 :
デフォルトの名無しさん:04/10/04 10:34:46
サンクス
>>36 メールクライアントにしてみます。
メールクライアントで文書をやり取りするサービスを作って、
そのアクセスをDBに記録したりすると、
デスクトップアプリをポトペタする感じでなんか高度なアプリが出来そうですね。
42 :
デフォルトの名無しさん:04/10/04 11:32:55
メールクライアントベースのアプリケーションの一般論でもあればイメージわきやすいが、説明サイトも無いみたいだね。
rfc読めよ
44 :
デフォルトの名無しさん:04/10/04 16:02:51
そういうレベルじゃなくて、メールの自動応答アプリ(これはカタログは見つかった)とか、アプリベースの話。
45 :
デフォルトの名無しさん:04/10/05 10:08:27
>とはいえIndyだとMIMEエンコード/デコードがあるのでそれを使えばいい。
>(バグっているのは秘密だ)
これ詳細教えてage!
>>45 昔のやつだと3バイトの倍数でないと最後の(Length mod 3)バイトがおかしくなる。
なお、最新版では治っているようだ。詳細はidCoderHeaderを見れ。
47 :
デフォルトの名無しさん:04/10/07 09:57:59
サンクスage!
>>46 直ってるのはうれしい。
けど、他人とコンパイル環境合わせないといけないのでバージョンアプするか検討。
48 :
デフォルトの名無しさん:04/10/09 08:21:26
C++Builder6にインストールしようとしているのですが、
コンポーネント→パッケージのインストール→追加
でIndyを追加しようとしているのですが、
「プロシージャエントリポイント@Idresourcestrings@_RSBindingAnyがダイナミックリンクライブラリIndy60.bplから見つかりませんでした。」
と出てインストールできないのですが、どなたか解決方法をご存じないでしょうか?
どっかのスレでみたけど、
古い印ディーを抜いてから、
新い印ディーを入れる。
50 :
デフォルトの名無しさん:04/10/15 17:42:44
Version 8.0.25 の TIdTelnetServer で、
認証時のエコーをしないようにしたいんだけど、
どうしたらいいの?
51 :
デフォルトの名無しさん:04/10/15 21:26:34
Indy+SSLの詳しい説明、期本ぬ
初めてindy9入れてみた。
デモをコンパイルして動かしてみた。
ヘッダは表示されるのに、本文は表示されなかった。
昨日、ずっといじってたが、成果は出なかった。
日記はチラシの裏側(中略)な!
>>51 Indy9 しか使ったこと無いから他は知らんけど。
http://www.indyproject.org/ssl.html ここから辿って OpenSSL DLLs for Indy をゲッツ。
とりあえず DLL は exe と同じフォルダに入れておく。
TIdHTTP と TIdSSLIOHandlerSocket をフォームに貼り付けるなりして使えるようにして
TIdHTTP の IOHandler プロパティに IdSSLIOHandlerSocket1 とかをセット。
あとは URL に https から始まる文字列をセットするだけ。
TIdHTTP 以外で使う場合は良く分からん。
ふーむ。
どうやら他の人はちゃんとメールが受け取れるようだな。
不思議不思議。
OSで違うもんなのだろうか?
「デモ動かしたけど、本文だけ受信しない」って人が現れるのを待つとするか…。
>>54 ぱっと見ただけだけど、ヘッダだけ表示するように作ってある気がする。
本文も表示するように変更すれはいいんじゃないかと。
日本語ならSJISに変換しないとまともに読めないかもしれないけどね。
>>55 レスどもどもです。
うーん。そーなのかなぁ?
一応、ツールボタンの3番目が受信かと思っていたのだが…。
今、見直してみたら「retrieve」って書いてあるなぁ…。
retrieveって、「検索」?
でも、一応「メモ」貼ってあるし…。ソレに本文出すようになってる
ようにしか見えないなぁ…。
はてはて。
>>56 初めにメールのリストを取得して、その後メール本文を受信する仕様だったのね…。
やっぱ、ぱっと見ただけじゃ駄目だな。申し訳ない。
ってことで調べてみたんだけど、どうやら本文しかないメールの場合
Pred(Msg.MessageParts.Count) が -1 を返しているのが原因みたい。
試しに本文書いて添付ファイルを付けたメールを受信させてみると
うまくいったです。
なので、Pred(Msg.MessageParts.Count) が -1 の時は本文のみ、
そうじゃないときは添付ファイルあり、みたいな処理に変えないと駄目っぽい。
多分途中で仕様を変更したけど、サンプルはそのまま変更してないんでしょうね。
まぁ妥当な仕様変更だと思うけど。
>>57 おお?レスどもどもどもです。
インストールした日に色々いじくってて、その辺が「違う感」があったんですが…。
添付ファイルですか…。
「ソレが変な値返してて、スルーされてんなー」とは思ってましたが。
うーん。
検索しても、「MailClientのデモが変だ」ってのがひっかからない(?)のは
あまりメールに関していじってる人が少ないのかな?
結局、「本文だけ」の場合はどーしたらいいのか、分からないままですが(^^;。
おろろ。添付ファイル付きを自分のメルアドに送ってみたけど、
一覧に出ない…。
試しにもう一つ、添付ファイル無しを送ったらソレは出てきた…。
うーん。ワケが分からん。
TIdText(Msg.MessageParts.Items[intIndex]).Body
↑
コレも怪しいんだよなぁ。
「//body text」って注釈入れてんのに。不思議不思議。
連続スマソ。
自分で「ひっかからない」と書いたけど、検索方法を変えたら
そこそこあった。
んで、
分岐(コレはスルーされるから)の前に
TIdText(Msg.MessageParts.Items[intIndex]).Body ではなくて、
↓
memo1.Text:=msg.Body.Text;
ってやったら本文取れましたよ!
うーむ。
英語じゃなくて、ドイツ語の掲示板だったからよく分からんかったが、
ありがとう!ドイツ人!w
でも、こんなんでいいのだろうか…。とりあえず、もう寝ます。
ありゃ、また連続か…。
一応「本文」も取れるようになったんで「自分用・柔軟なスパム削除ツール」は
出来ました。
が!相変わらず添付メールは一覧されない…。
不思議不思議。
って、一応完成したから調べてないんだけどw
すんまへん。ほんま、すんまへん。
何のことはない。自分んとこのプロバイダで添付ファイル付きメールをサーバーから
削除する設定にしてました…。
ほんま、すんまへん(^^;
ほな。
63 :
デフォルトの名無しさん:04/10/22 16:00:26
Indy10はいつですのですか?
最後の「ですの?」は余計だったな。
66 :
デフォルトの名無しさん:04/10/22 23:41:34
Indy10はいつですにょ?
68 :
デフォルトの名無しさん:04/10/23 14:53:44
マジかよ!超サンクス
>>53 そんなに簡単なのかよ。迷ってたけど使おう!
TIdHTTPServer側はまだ分からんけど。
ライセンスも難かしかった筈だけど英文読むか。
保守
9.00.17が出てるね
72 :
デフォルトの名無しさん:04/11/05 14:23:13
9が出たせいか、Indy OpenSSL DLL's for Indy ページ消えた!
74 :
デフォルトの名無しさん:04/11/06 13:44:13
>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.
ライセンス難しそう。
国によって使えないと。
それ以外は自由なのか?
75 :
デフォルトの名無しさん:04/11/07 12:03:27
C++Builderへのインストール方法とかが書いてあるページって無いの?
GETしたらeucってやつだから文字化けしちゃうよ~
変換するにはどうしたらイイのぉ?
アセンブラだと一発なの?
釣り?
78 :
デフォルトの名無しさん:04/11/08 00:00:31
79 :
デフォルトの名無しさん:04/11/09 14:18:38
IndyページからSSL Buddyのインストーラ落としました。
これは何に使うもんでしょう?
>>79 何に使うのか分からないのは、多分今の
>>79には必要ないから、かな。
必要になった時にはSSL Buddyという名前だけで
ある程度予想が付くようになってるはず。
それまでは気にしなくていいと思うよ。
81 :
デフォルトの名無しさん:04/11/10 10:10:24
SSL Buddy教えて!
82 :
デフォルトの名無しさん:04/11/11 09:13:02
Indy普及のためには意地悪せず、教えあおうYO!
83 :
デフォルトの名無しさん:04/11/13 00:57:40
9.0.18age
BCB5だと9.0.17はコンパイルエラー出たんだけど直ったYo!
84 :
デフォルトの名無しさん:04/11/15 11:27:02
IndyのSSL Buddyとは、
↓
変更
9.0.16から9.0.18の変更点ってどこに書いてあるの?
>>85 9.0.16からは9.0.17は知らないけど、9.0.17から9.0.18は IdVers.incの修正のみと
思われ。
あ、IdGrobal.pasが抜けてた
「uneven size in decodetostream」って例外が出たんで、
検索してみたら「10にしたらいいんでないの?」ってやりとりが。
で、今10をDL中。
信用して良いんだろうか(^^;
うーむ。DLしたは良いがインストール方法がさっぱりw
こりゃβ取れるのを待てという思し召しかしら?
どっちかというとβが取れるように協力しろ、ってことなのではないかと。
>>90 うーん。出来るものなら協力したいけど、
あっしなんかおこがましくてとんでもございませんって話ですよ。
「あーIndy使ったら楽にメールやりとり出来るな~」くらいにしか
考えてなかったレベルなんで(^^;
「こーやりゃいいのか…(サンプル身ながら)」って適当に試行錯誤してるだけ状態。
ありゃ、誤字…。
「見ながら」。
Indy 9.0.18のIdTCPServer/IdTCPClientコンポでクライアント/サーバーアプリを作っています.
クライアントからの命令をOnExecuteイベントではなくコマンドハンドラで処理すると
OnExceptionイベントハンドラ存在していても
例外生成時に接続が切れてしまいます.
OnExceptionイベントハンドラで例外が生成された場合は
OnExceptionイベントハンドラを実装することで接続は切れなくなったのですが….
コマンドハンドラを使う場合はコマンドハンドラごとに例外処理コードを書かないとダメなのでしょうか.
>>93 OnNoCommandHandler を使う。
レスありがとうございます.
しかしうまくいきませんでした.
試行錯誤の結果,
IdTCPServerコンポのReplyExceptionCodeプロパティに0以外の値を入れることで
エラーをトラップしてくれるようになりました.
(ヘルプは精読しないといけないなと少し反省.)
しかしメッセージはエラーメッセージそのものになってしまうので…
901 リストのインデックスが範囲を超えています (0)
ちょっと恥ずかしいです.
これが嫌ならやはりコマンドハンドラごとにトラップしないと駄目かも.
96 :
デフォルトの名無しさん:04/11/22 09:43:49
IndyのSSL Buddyを使ってる人居まつか?
>>95 procedure TForm1.IdTCPServer1NoCommandHandler(
ASender: TIdTCPServer;
const AData: String;
AThread: TIdPeerThread);
begin
try
// AData で各種コマンド処理
except
ShowMessage('例外発生');
end;
end;
コマンドハンドラ使わずに、こんな感じで処理するのは
どうかな、という話だったんだけどね。ま、好きな方を選んでくれっす。
98 :
デフォルトの名無しさん:04/11/24 14:18:42
C++Builderで使っている人いますか?
インストール方法を教えてください。
Pro版のCD-ROMの中の人がインストールしてくれます。
100 :
52:04/11/24 23:48:40
101 :
デフォルトの名無しさん:04/12/02 16:28:34
TIdPOP3でメールの受信チェックをしていますが、
ごく稀にEIdConnClosedGracefully例外が発生します。
稀過ぎてデバッグ中に発生したことがなく、発生原因がつかめません。
何が原因かわりますでしょうか?
IdPOP3.Connect();
Count:=IdPOP3.CheckMessage;
//ここで各メールのヘッダーを読みこんで新着を確認。
IdPOP3.Disconnect;
ブロードキャストでデータを送るプログラムを作ってるんですが、
テストする時って同じPCではテスト出来ないの?
ネットのことを勉強しろって言われると思うけど、取り敢えず教えてくれ。
伝言板というか回覧板というかそんなのを作ろうと思いまして。
IndyのUDPのデモを見たのですが、メッセージのやりとりが出来そうにない物ですから、
同じPCの中ではテスト出来ないのかなと思った次第です。
ブロードキャストとUDPは関係ない?
当方、パーソナルだからよく分からないんだけど、
確か製品版には最初から付いてるんだよね?
製品版も、例外が出るのかな?
初めてIndyを使用してみているのですが、IdTCPClientでConnectしている間にアプリケーションが固まってしまいます。
接続中にフォームの移動などを許可させるにはどうしたらいいのでしょうか?
>>101,105
おまえら検索しろ
EIdConnClosedGracefully
この例外クラスは,接続が正常に閉じられた場合に生成されます
>>106 TThreadを使う。
それが嫌ならIndyを使わない。
AntiFreeze じゃ駄目なのか?
AntiFreeze じゃ駄目なのか?
なんか挙動怪しくないか。
AntiFreeze
御免。
>>113 あ、いや…。謝られるとは思ってなかった(汗)
115 :
デフォルトの名無しさん:04/12/08 11:42:35
C++Builder6にIndy9がインストールできないのですが
BCBがVCL対応だけのためにバージョンアプしてくれれば良いと思う。
Delと同時で2年に1回で良いから。
indy9.0.18、Memcheckであれすると1個メモリリークが報告されるのだけれども…
面倒だからソースは追ってないが。
uses に IdHTTPを追加したときに確認。
D2005にはIndy10が入ってるのね、、、
ということで
>>118特攻してみれば?w
IdHTTPオブジェクトでPOSTを使いたいとおもっています。
その際、HTTPヘッダに、Requestプロパティにない新しい項目を追加したいのですが、
ヘルプにはそれらしいものが見あたりません。
誰かおながいします
これですね
クッキーを添えて送信する
FIdHttp.Request.ExtraHeaders.Add('Cookie:NAME=HOGEHOGE'); // こんなかんじ
FIdHttp.Post(Url, Source, Res);
ありがとうございました
とおもったらエラーがでます。
DelphiでなくBuilderつかってます。
IdHTTP1->Request->ExtraHeaders->Add("Cookie: NAME=mint; MAIL=sage;");
[C++ エラー] Unit1.cpp(24): E2316 'ExtraHeaders' は 'TIdHTTPRequest' のメンバーではない
Indy9はインストールしているはずなんですが。。。
ちょっとしらべてみます。
古いIndyはアンインストールしなければいけないんでしたっけ?
沈黙しないででなんかしゃべってください
おながいします
ExtraHeadersの型って何?
たぶんExtraHeaders->Strings->Add()とかだと思うけど
っと、その前か
>>123 Indy9から若干プロパティまわりが変更されてるからヘルプ見た方がいいよ。
IdHTTP1.Request にセットするのは TIdHTTPRequest
TIdHTTPRequestの SetHeadersメソッドで、TIdHeaderListを格納
TIdHeaderListはTStringListからの継承
とりあえずこんな感じかな・・・
var
exHeaders: TIdHeaderList;
begin
exHeaders := TIdHeaderList.Create;
exHeaders.Add('hogehoge');
IdHTTP1.Request.CustomHeaders := exHeaders;
IdHTTP1.Request.SetHeaders;
(
)
参考になりました
ありがとうございます!
INDY9で
TidHTTPと
TIdHTTPServer
で
IEなどのブラウザからのGETリクエストをTIdHTTPServerで受信して
そのURLをTIdHTTPで取って来て
そのデータにサーバ側でちょっとデータを付け足してIEに送り返すみたいな
ようは2CHの禁断の壷みたいなHTTPプロシキサーバをつくっているのですが
TIdHTTPServerは大きなデータを送り返すとIEでは”サーバが見つかりません”
になってしまうようなので
TIdHTTPServerで大きなデータを送り返す場合は、プロパティの設定などが必要なのですか?
知ってる人教えて!おねがいします。
ContentTextプロパティ
じゃなくて
ContentStreamプロパティ
をつかえば送れそうです。
135 :
デフォルトの名無しさん:04/12/15 18:52:00
IContent-Encoding がgzipで返されたデータをデコード処理してくれるメソッドってないんでしょうか?
自分でzlibをincludeして、デコードするしかないんですか?
上は
×IContent-Encoding
○Content-Encoding
です
だれかおながいします
2chブラウザとかでも別にzlib使ってるよ。
あーやっぱり自前で処理するしかないんですか。
わかりました。
140 :
デフォルトの名無しさん:04/12/20 19:52:55
リッチテキストコンポーネントはありますが、
HTMLかSGMLを編集できるコンポは無いでつか?
WYSIWYGでだったらDHTMLのOCXをラップしたコンポがあったかな?
UIWebBrowserと同じ作者さんが作っていたような気が。
TDHtmlEdit
つーか、スレ違いじゃない?
そういえばそうだな
145 :
デフォルトの名無しさん:04/12/25 09:58:09
Indy SSL Buddyの使い方教えてヨロ
便利なんだけどなー。
日本人用じゃないからなのか、
日本語のメールだと例外が出ることがしばしば…。
などと保守。
>>146 原因調べてここで晒せ
と突っ込みつつ保守。
TIdMessage.LoadFromStreamについて教えてください。
procedure 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でも試してみましたが同じようでした。
>>147 出来るもんなら、やっちゃるワイ。
それこそ外人にメールで報告しちゃるワイ。
ペラペラとな!
出来ねーっつーのw
と、返しで保守。
>>150 それができるようになれば
ネ申と崇められるわ君のスキルは数倍上がるわそりゃあもう大騒ぎさ
ということでめげずに地道に追いかけろと他人事のように保守
152 :
デフォルトの名無しさん:05/01/13 16:01:34
>>151 君もなー。
お互いなー。
ってことで保守。
>>152 おっしゃってる内容がよく分かりません。
154 :
デフォルトの名無しさん:05/01/14 08:51:34
156 :
デフォルトの名無しさん:05/01/14 11:15:17
>>155デモは別画面でおとせってことっすね
thx!
保守ナリよ~ キテレツ~
初心者スレのマルチポストになってしまいますが・・・
>Indy使ったときに、
>インターネットに接続していないと、
>ConnectionErrorとかダイアログが出てきますが、
>あのメッセージを自分で変更できないのですか?
>また、表示させない設定にはできないのでしょうか?
>ご存知の方、よろしくお願いします。
例外でくくればいいんでないの
例外・・・?
とは何でしょうか?
try~except
D6personalでindy10に突貫したら
Automatic Installなんて便利なものがあったからいれたら
[致命的エラー] Unit1.pas(7): ユニット IdBaseComponent は異なるバージョン System.RTLVersion によりコンパイルされています
で使えなかった。
Service Pack 2
RTL Update 3 Delphi 6
両方当ててるんだけどな
>>161 追加質問よろしいでしょうか?
try・・・でそのあとの命令文を試みて、
途中でエラー(例外?)が怒ったらexceptを、
起こらなかったらそれを無視して
exceptを通さず、そのまま次の行に行く。
try
begin
...
end;
except
begin
...
end;
ってな風に入れればよいのですか?
すこしヘルプ読んでブレーク掛けながら試してみろよ
テスト的に故意に例外作るなら零除算とかだけど、Abortって例外生成もあるからな。
>>162 以前のバージョンのIndyのランタイムモジュールが残ってたりしない?
Windows\system32フォルダにあるのも削除して入れてみては?
>>164 try
except
end;で解決。ありがとうございます。
167 :
デフォルトの名無しさん:05/02/02 14:52:17
例外なんて初心者話題はやめて、Indy SSL Buddyについて語ろうじゃないかage
超初心者で申し訳ないが、Indy10の
TIdSimpleServer使って、ソケットをListenしたままの状態で、Windowsを終了させようとすると、
OSからのアプリ強制終了シグナル(?)に反応せず、そのまま居残り続け、
「このアプリは応答しません。」が出てしまう。
どうすりゃよかっぺか・・・・・・・ TThread使って、Listenの時だけスレッド上で回しておくべきか・・・・
169 :
デフォルトの名無しさん:05/02/23 10:03:10
IndyのHTTPサーバーを使ってアプリを作りまくろうと思ってますが、
アプリ毎にポート変えても、1台のPCでHTTPサーバー複数起動するとマズイでつか?
170 :
169:05/02/23 10:07:56
HTTPサーバーが処理せず、他のサーバーに応答処理させる、みたいな事出来ましたっけか?
172 :
169:05/02/23 13:12:53
できるんですか、了解。
でも、良くわかんないのが、プロパティがDefaultPortになっていますね。
Port番号が実行時に変わるんかよ、そんなの把握できないよ、みたいな。
173 :
デフォルトの名無しさん:05/02/24 07:30:45
Indy10は一体いつ出るの?
>>173 もう出てますが何か?
>>172 D7のヘルプにIndyの日本語版ヘルプが入ってるから
なぜ「Default」なのか読んでみれ
D6perだったらD7のヘルプアップデートをゴニョゴニョせい
175 :
デフォルトの名無しさん:05/02/24 08:44:50
C++Builderへのインストール方法を教えてください
何でも知ってまつね
>>174 ヘルプみると、「Hypertext Transfer Protocol 仕様に基づいて,サーバーのリスニングスレッドのデフォルトポート番号」とありますね。
だから、仕様の名称そのまま取って、Default Portってことなんかなぁ。
色んな種類のサーバーアプリを作ってみようかと思うんですが、
業務毎にポート変えるってのはどうなんでしょ。
TCP/IP的には利用内容毎にポートを変えるということですが、
HTTPはポート80で固定して、参照アドレスでアプリ切り替えようかなぁ。
>>176 おまいが知らなさ杉の気もするけど・・・。
サーバーは固定、クライアントは自由、IP+ポートで十分識別可能
>>175 ググれ!と言いたいけど、まとまった情報があまりないし、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より高くし無いと駄目。
>>176 手段と目的が入れ替わっているような気がする
Delphi+Indyでやらなあかんもんなのかしばらく自問自答しれ
>>181 じゃあ止めないw
>>176の件はhttpだというのならブラウザでアクセスするんだろうから
Clientのことを考えればポートを変えるのは得策でない
よって最終行の方法を推奨する
Bindingsプロパティの「...」押せばどうやればいいかわかるっしょ
>>182 いや、実はhttpでありながらブラウザじゃないんだ。
Winと機器の通信みたいな。
HTTPだとどこでもライブラリ有りだし、ルータ越えしやすいし。
となると、ポートはやっぱ80しかダメか。
>>183 ルータ越えしやすいってそれは違うだろという突っ込みはともかく
普通のhttp通信に紛れ込ませたいのであれば80しかないだろうな
185 :
デフォルトの名無しさん:05/03/01 09:56:06
IndyのHTTPサーバーで作ったアプリが、
IPv6対応してるかどうか聞かれたら、
何と答えれば良いのでしょうか?
してません
Q「今後の対応はどうなりまつか?」
188 :
デフォルトの名無しさん:05/03/03 11:17:11
POP3でサーバに残す設定で、一度読み込んだメッセージを再度読み込まないようにするにはどうしたらよいのでしょうか?
190 :
デフォルトの名無しさん:05/03/03 15:52:21
191 :
デフォルトの名無しさん:05/03/04 11:07:44
IndyのHTTPサーバーで、クライアントにBASIC 認証ダイアログを出させるには、どうしたら良いでつか?
403を返せ
401じゃなかった?
194 :
デフォルトの名無しさん:05/03/08 08:57:11
サンプル無いんでつか?
その後認証ダイアログに入れられたユーザ、パスワードの取り方も知りたいし...
>>194 uses に 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 ではどうなのか分かんないけど。
>>196 ありがとう。
こんなプロパティあるのね。Indy9でもありました。
199 :
デフォルトの名無しさん:05/03/12 05:09:02
Indyでsshを使ったプログラムは作れますか?
たとえば、sshでログインしてsftpでファイルの転送などはできるのでしょうか?
>>199 ちょっと調べてみたら、Indy10 には IdSSH.pas という期待出来そうな名前のファイルが。
でも、中身は「作るとすればこんな感じかなぁ」という、要するに何も無い状態…。
つーことで今の所は自分で対応させる以外の方法はなさそうだね。
201 :
デフォルトの名無しさん:05/03/13 21:39:50
>>53 の方法でSSL試してみたら、
繋がることは繋がるけど、すげぇ時間がかかるんだけど……
なんででしょうか?
なんかkeyかなんかの設定しないとダメなの?
ぐぐってもわかんないよ~
ちなみに、WinXP Pro + Delphi7 Pro + Indy9(最新版)です。
環境かかなくてすいません。
>>201 DNS 絡みの問題じゃないのかな。名前解決がうまくいってないとか。
どのくらいの時間がかかるのか具体的な秒数が分かればなんとなく原因も分かりそう。
特定のサイトで遅くなるみたいなんで、DNSがらみっぽいですね。
40秒ぐらいかかります。
205 :
デフォルトの名無しさん:05/03/16 10:24:14
IdHL7.pas って何で塚?
もしかして、電子カルテのHL7プロトコル?
>>205 Indyのヘルプより・・・
> TIdHL7 クラスは,HL7 Minimal Lower Layer Protocol を実装したものです。
207 :
デフォルトの名無しさん:05/03/20 18:15:03
IdIPWatchを使うと、「グローバルIP」は所得できるんでしょうか?
またそうじゃないとしたら手段はあるのでしょうか?
他のソフトで所得しているのを見ると、不思議で不思議でしょうがないです。
ご存知の方、よろしくおねがいします。
208 :
デフォルトの名無しさん:05/03/21 01:58:12
>>207 そのパソコンがGIPを持っていれば取得できる
ここ半年、いつも取得と所得を間違えてるヤツがいるけど同一人物なんだろうか?
210 :
デフォルトの名無しさん:2005/03/24(木) 20:48:12
(´-`)。o ○ (javascriptオフで見に行ったらな~んにも表示されないページって、
正直どーなんだろう…)
213 :
デフォルトの名無しさん:2005/03/28(月) 09:15:55
indy10をbcbにインストールすることはできますか?
>>213 コンパイルとインストールは出来たけど、BCBはサポートされていないからなのか
実行時にエラーが出る。
それとも、やり方が間違ってるのかなあ?
それはエラーによるんじゃないの?
「無理!」って出てるんなら、無理なんだろうしw
IdTCPServerとIdTCPClientを使ってLANで通信するプログラムを作っているのですが、
ポートを変更すると(Server、Clientとも同じ値)通信出来なくなってしまいます。
再起動すれば、新しく設定したポートで通信出来るのですが、
再起動しないでポートを変更し、通信することは出来ますか?
TIdFTPコンポーネントなどでファイルをダウンロードする際、OnWorkイベントで
AWorkCount値でプログレスバーを変化させようとしても全く表示が更新されません。
LabelコンポーネントにAWorkCountを入れたときのみリアルタイムで表示が変化します。
後ろにRePaintを置いてもだめです。TIdAntiFreezeも置いています。
なにがまずいのでしょうか。
218 :
217:2005/04/04(月) 18:48:04
WorkBeginイベントでProgressBar.MaxにAWorkCountMaxはセットしています。
プログラム上はこれでいいと思っているのですが、他に何か入れるべき処理を
見落としているのでしょうか・・。
217,218
ソース書いた方がイイかもしれませんよ。
AntiFreeze置くかわりに、イベントにApplication->ProcessMessages();
入れてもダメなら、TProgressBarの使い方に問題があると思います。
220 :
217:2005/04/07(木) 00:22:04
原因が分かりました。AWorkCountMaxが常に0だったようです。
Helpをよく読むと処理数が不明の場合は0が入るんですね。。
221 :
デフォルトの名無しさん:2005/04/20(水) 11:42:35
IndyのHTTPサーバーのイベントハンドラで応答すれば良いことは分かりましたが、
cgiバイナリやisapi形式のDLLを実行したり出来待つか?
222 :
デフォルトの名無しさん:2005/04/20(水) 22:42:16
安定性orバグの少なさという点から見ると、Indy8/9/10のどれが優秀ですか?
メモリ共有でMLの過去ログをあさっていたら、吐駄ちゃんがTCPを使うと簡単とか
言って、中村タンとやり合っているのだが、どういうプログラムを書くのかがさっぱり
分からんです。
1つのフォームに、TCPサーバーとクライアントを貼り付けて起動すると、
2個目起動したときにエラーで立ち上がらない。
誰か教えて。
複数のサーバープロセスが同じポートをbindしようとしてるだけだろ
それは分かっていたんだが、それだと起動する毎にポート番号を変えて
通信する時に全ポート番号に送信するって事でしょ?
メモリ共有とどっちがお勧め?(メモリ共有の方法は分かりました。)
226 :
225:2005/04/22(金) 09:32:37
Indyのデモみてたらわかたよ。
どもね。
オレの環境が悪いのか、オレ自体が悪いのか、
分からないけど、こんなに例外が出るんじゃ
配布出来ないなぁ。
オレは自分用だけに使ってるからいいけど。
どーなの?
ってことで保守。
228 :
デフォルトの名無しさん:2005/05/05(木) 16:52:50
メールのUIDLの取得方法を教えてください
>>227 正常に接続が終了したときも例外が投げられるけども、ちゃんと無視してる?
230 :
227:2005/05/07(土) 23:35:50
>>229 ん?
ちょっと話が見えない…。
オレが書いた例外ってのは、「メール受信時」の話。
説明が足りなかったか。
232 :
227:2005/05/08(日) 01:32:29
メールのUIDLの取得方法を教えてください
234 :
デフォルトの名無しさん:2005/05/13(金) 10:21:40
QuickReportって、プリンタの用紙トレイを間違えたりとかしますよね。
回避方法教えて下さいでつ。
raveにする
(;゚д゚)rave・・・
( ゚∀゚)rape!!
IdHTTP.Getで大きなファイルを落としている最中に中断する方法を教えてください。
239 :
238:2005/05/13(金) 15:31:29
あひゃ、間違えた…
× IdHTTP.Disconect;
○ IdHTTP.Disconnect;
240 :
デフォルトの名無しさん:2005/05/13(金) 20:11:28
LANでつながってるPC(windows)に
受信プログラムをインストールしないで
ファイルのプッシュ配信を行いたいのですが
INDYでできますでしょうか?
242 :
240:2005/05/13(金) 21:17:08
>>241 必要なコンポーネントととりあえずの
使用方法を教えてくれませんでしょうか?
親PC=hostAのc:\a.txtを
子PC=hostBのc:\に同名でコピーする場合。
さあ、スタートアップフォルダにトロイをインストールする準備は出来たかい?
>>242 x:ドライブで共有しているとして
CopyFile("c:\\a.txt","x:\\a.txt",false);
でうまくいくはず。(確認はしていません)
っていうか、これはindyの質問じゃないだろ?以後はC++Builderスレへ
sftpを使ってlinuxのファイルを取得するにはどうしたらよいのでしょうか?
246 :
242:2005/05/14(土) 23:41:33
>>243 あいにくそういう用途ではありませんので。
社内業務に使うのです。イメージとしては
Nortonコーポレートエディションのクライアントへの
リモートインストールのように親PC主導の
プッシュ型でファイルを配信したいのです。
>>244 このやり方では、確かにINDY関係ありませんね(笑)
でもこれでは親が共有場所(X)を提供するまでは
できますが、ファイルコピー実行は子毎がやる必要がありますよね。
親からの命令で自動的に子に実行させる方法はWINDOWSのatコマンド
でタスクに登録したり、rexecコマンドで直接実行したりする方法が
ありますが、こういう方法しかないということでしょうか?
私はindy未使用のやり方を聞きたいのではなくindyでこういったこと
ができるかどうかが知りたいのです。
247 :
242:2005/05/14(土) 23:53:25
>リモートで クライアントに配布できる
そんなことどこにも書いていないぞ
根本的に勘違いしているような気がするな
>>242 セキュリティの脆弱性をついてみるのが手っ取り早いと思います。
セキュリティパッチが最新のものまで当ててあると難しいかと思います。
OSの詳細なバージョンを教えてください。
251 :
242:2005/05/15(日) 10:02:28
>>248 「イメージとして」って書いてますが、逆にわかりづらかったでしょうか?
すみません。ファイル配布ができればokです。
>>250 子(クライアント)はwindows2000proとxpと混在です。セキュリティはアップデートで
重要な更新をパッチ済みレベルです。親も同様の環境での実現を希望しますが、
無理なら親だけserverですかね。
どちらにしてもindyコンポーネントで実現できないのであればスレ違いに
なりますので消えますが(241さんができるって即答だったもんで。。)
>>251 できない。
indyを使わなくても出来ない。
あきらめろ。
253 :
242:2005/05/15(日) 10:08:07
>>252 わかりました。汚してすみませんでした。
sshでログインしたいのですが、どのようにすればよいのでしょうか?
255 :
デフォルトの名無しさん:2005/05/16(月) 15:11:15
Indy10のC++Builder6へのインストール方法を教えてください
>>255 1.インストーラを実行する。
2.あとは画面の指示に従ってインストールを進めてください。
>>256 インストーラが見つからないのですがどのファイルなのでしょうか?
>>259 それをたどっていったのですが、C++Builderをクリックしていくと最終的にSource Codeダウンロードのページに戻ってしまいます。
C++Builder用Automatic Installファイルはどこにあるのでしょう?
> No automated install is available. Please use the open source distributions.
無いってさ。
262 :
デフォルトの名無しさん:2005/05/25(水) 00:22:34
Delphi6ProでIndy8と9を共存させる方法ありますか?
教えてくだされ
>>262 1つのプロジェクトで8と9の両方使うようなことをしないなら、
プロジェクトごとにインクルードパスを変えたらいけそうだけど。
264 :
デフォルトの名無しさん:2005/05/29(日) 08:21:23
>>179の通りにやってインストールはできたのですが、デバッガが使えなくなりました。
これは仕様ですか?
265 :
デフォルトの名無しさん:2005/05/29(日) 09:49:44
一つ教えて欲しいです。
IdTCP接続で、ファイル転送したときは
レジューム可能でしょうか?
不可能
267 :
age:2005/05/29(日) 11:07:20
>>264 「デバッガが使えなく」って、どのような状況?
>>267 デバッガオプションの統合開発環境を使うのチェックをはずさないと、コンパイルできなくなってしまいました。
これはたとえIndyを使っていないソフトをコンパイルしようとしても起こります。
珍妙な。うちはならんぜよ。
270 :
age:2005/05/29(日) 14:26:08
「コンパイルできなく」って、どのような状況?
>>179氏を参考にIndy9のインスコまでは完了した。
んで、IdUDPClientを使おうと思います。
送信についてはSendBufferでおkというのはわかったのだが、
受信をするにはReceiveBufferしか見当たらない・・・
やっぱりこれってスレッドで回さないとあかんのでしょうか?
NMUDPみたくReceiveイベントがあれば楽なのに・・・orz
>>271 うん。でもスレッドコンポーネントとか使えば楽なんじゃない?
273 :
271:2005/06/22(水) 09:59:41
>>272情報㌧クス
スレッドコンポーネントっちゅーのは使ったことないんですが、
ttp://www.asahi-net.or.jp/~nk2w-ishr/progdtl.htm#KThdComp これのことですか?
なんとなく使用方法はわかったと思います。
中身は普通のスレッドオブジェクトと同じっぽいですね。
で、もう一つ質問があるのですが、ひとまずスレッドではなくボタンイベントにて
ReceiveBufferを呼び出すようなサンプルを作り、受信しようとしたのですが、
受信してくれない様子でした。
引数の設定で解決するんかなぁ?って思っております。
晒そうと思ったが現在手元にナッシングですので後ほど晒します。
274 :
271:2005/06/22(水) 18:41:20
自己レス
なんとか動作できました。
IdUDPClientではなくIdUDPServerを使用したところ、
スレッドにしなくてもOnUDPReadイベントが実装されて
いたので、私の理想通りなことが出来ました。
ちなみに
>>273で出来ないと言っていたのは、Bindingsに
ハンドルを指定しておりませんでした。
(その前はActiveがfalseのままで出来なかったり・・・もあった)
晒すとこんな感じ
static char buff[MAX_DATA];
void __fastcall TReadingForm::IdUDPServer1UDPRead(TObject *Sender,
TStream *AData, TIdSocketHandle *ABinding)
{
for(int i = 0; i < MAX_DATA; i++) buff[i] = '\0';
IdUDPServer1->ReceiveBuffer(buff, 8192, -1);
~受信処理~
}
ご協力ありがとうございましたm(。_。;)m
275 :
271:2005/06/23(木) 13:29:24
自分で修正
IdUDPServer1->ReceiveBuffer(buff, AData->Size, -1);
ADataに受信バイト数が入っているから、こう書いたほうがヨサゲ
276 :
271:2005/06/23(木) 15:36:29
チョ→阿呆なことをしていることが発覚
static char buff[MAX_DATA];
void __fastcall TReadingForm::IdUDPServer1UDPRead(TObject *Sender,
TStream *AData, TIdSocketHandle *ABinding)
{
for(int i = 0; i < MAX_DATA; i++) buff[i] = '\0';
AData->ReadBuffer(buff, AData->Size);
~受信処理~
}
元々IdUDPServer1UDPReadが受信コールバックで入ってきているのに
更にIdUDPServer1->ReceiveBuffer(buff, AData->Size, -1);って受信待ちに
したらダメぢゃん_| ̄|○
兎も角、これで本当に正常に動作しているっぽいのでご参考あれ
277 :
デフォルトの名無しさん:2005/06/24(金) 22:02:01
Indy9+BCB6で、IdTCPServerとIdTCPClientの接続させて文字列を送信するだけのテストを
行ったのですが、予想外の動作に戸惑っているので、質問させて下さい。
IdTCPClient->WriteLn("hoge");
と実行させると例外が出て、「File "hoge" not foud.」などというメッセージが出ます。
Indyの最新のものを入れなおしてみましたが、それでも同じ動作となります。
こんなことなるのうちだけですよねぇ?
278 :
デフォルトの名無しさん:2005/06/25(土) 00:04:59
そんなもんだよ
indyに過度の期待しても駄目
へるぷみー
>>179でBCB6でIndy9しようとしてたんだが、パッケージのインストール→追加でdcIndy60.bplを選択すると、
「Indy60.bplが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションを
インストールし直すとこの問題は解決される場合があります。」ってエラーが出てくる・・・(TT
なぜじゃああああ
bcb6でindy10が使えるようになる日は来るのですか?
つーか使えるよ。パッケージが用意されて無いから、インストールが面倒なだけで。
283 :
279:2005/06/28(火) 17:25:15
解決しました
Fullc6.batはインスコするパソで行わないとダメなもより
=誰かが作ったIndy9フォルダだけを持ってきても㍉
>>282 そのやり方どこのページに解説されているのでしょうか?
286 :
IdUDPClient.SendBufferについて:2005/07/22(金) 14:22:16
こんにちは。
私、Delphi6を使用している者ですが、質問があります。
IdUDPClient.SendBufferを用いて通信をしようとしたところ
10038 exceptionに引っかかりました。
procedure TIdStack.RaiseSocketError にコメントでいろいろ対処法みたいのが
書かれているのですが、よく分かりませんでした。例外を出なくする方法分かる方
いましたら教えてください。Indyのバージョンは9です。
>>286 あなたが「対処法みたいの」と呼んでいるであろう文章をそのまま
エキサイトで翻訳しました。
「対処法みたいの」が実際には何を訴えたい文章なのか伝わりました?
--------ここから翻訳---------------
それは、*であるときに、*(他の時でないことの!)サーバを止めながら
ここで10038例外(他のものではなく、10038!)を受けるために 正常です
(クライアントでない!)。
ここで10038例外を受けるなら、以下でFAQを見てください。
http://www.nevrona.com/Indy/FAQ.html あなたが10038例外をここに到着させて、HAVE NOTが公的にムチ打たれて、
タールを塗られて、羽毛で覆われて、あなたがそうする公共のフォーラムと
今日現存するあらゆるチェーンレターに追加されているあなたの名前で
FAQを読んで、これに関して尋ねるなら。
公共のフォーラムでFAQで既に答える10038誤りの私たちのEメールボックスを通して助けてください、
あなたが単にあなたの答えを捜し求めることができないくらい懶惰であり、
質問するのを要求すると言い張るなら、
あなたは、公的にムチ打たれて、タールを塗られて、羽毛で覆われるかもしれません、
そして、あなたの名前は今日、現存するあらゆるチェーンレター/EMailに加えられるかもしれません。
FAQを読んで、さらなる質問を持っていたなら、さもなければ、
http://www.nevrona.com/Indy/ のTech Supportリンクに記載された方法
(Carefulllyは、これらの方法がメールを記載しないのに注意する)
の1つを使用することで遠慮なく聞いてください。
>あなたは、公的にムチ打たれて、タールを塗られて、羽毛で覆われるかもしれません、
289 :
IdUDPClient.SendBufferについて:2005/07/22(金) 16:17:39
FAQを読もうと思ったのですが、そのページは既にないみたいでして、
困ってるのですが、なにか、同様の内容で困ったことのある方は
いませんかね?
291 :
デフォルトの名無しさん:2005/07/28(木) 13:18:04
証券会社のホームページにアクセスしてID、パスワードで
ログインして口座残高を自動取得するようなプログラムを考えてます。
WindowsスクリプトでIEを操ってやってみたのですが、遅いので
C++Builderに期待しています。
素人で何からやっていいのかまったく検討がつきません。
INDYでやるとすればIdHTTPクラスとかになるんですかね?
キーワードだけでも教えてください。
ネットワーク+相手側サーバの速度に依存するから、WSHだろうがBCBだろうが
そんなに速度差が出るとは思えないんだけど。
293 :
デフォルトの名無しさん:2005/08/10(水) 08:11:14
sshで接続するためのコンポーネントはありますか?
Indy > 293
295 :
デフォルトの名無しさん:2005/08/24(水) 04:00:28
indyって128bit SSLには対応してるんでしょうか?
>>185 遅レスだが、Indy 10は対応しているぞ。
>>295 openssl を使うのかな?
詳しい人教えて。
INDY8、9で以前メールクライアント作ったことあるんだけど、
プロバイダのメール鯖に何か依存するとか何とかで使い物にならなかったんだが
10ではなおってるの?
メールするのにindy使うメリットってあるのか?
フィルタリング作ってるが、例外が出ることがしばしば。
あれは何とかならんものか。
>>303 よく見てないから、正確ではないけど、
「@out address」とか出てたかな?
もう一つは忘れた。
なんせ、時々だからなぁ。
今度出た時は、ちゃんと見ておこうと思ってるんだが
出て欲しくはないしw
>>302,304
まったく同じ目的の物を作って、まったく同じ例外に遭遇したけれど、
その例外がナニモノなのかはIndyのソースにコメントされているよ。
ちなみに、俺はそのエラーが出た時点でスパム確定させてる。
どーせなんだから、ソースコメントの解説きぼん
ファイル検索かけたけど見つからないし
すみません質問です。
Indy9のIdTCPClientを使ってサーバーへの接続を試みているのですが
IdTCPConnectionの878行目で必ずデバッカ例外が発生して
EIdNotConnectedの例外を生成しましたとでて落ちてしまいます。
コンパイルしてできたexeを起動しても落ちはしないけど繋がらないです。
ソースを見てみたのですがどういう作業をしている時に何が悪くて落ちているのかもわからないです
超初心者でごめんなさい。解決方法等あれば教えて下さい。お願いします。
Delphi6Personal使用です。
あんたのコードは?
311 :
309:2005/09/13(火) 15:54:19
解決しました。
サーバーへ接続する際のpassの受け渡しがうまくできていませんでした。
よく考えてみると例外を発生させるコードを実行して例外が出て困るなんて意味わかりませんね。
スレ汚し申し訳ありませんでした。
312 :
305:2005/09/14(水) 01:05:17
>>307 <>よりも後で@が使われたアドレス。
IdEMailAddress.pas
Strange use. For now raise an exception until a real-world example can be found.
Basically, it's formatted as follows: {Do not Localize}
<someguy@domain.example> some-text @ some-text
or:
some-text <someguy@domain.example> some-text @ some-text
where some text may be blank.
313 :
52:2005/09/30(金) 00:24:10
はは。じゃ、たまにはageてみようか。
315 :
デフォルトの名無しさん:2005/09/30(金) 01:14:08
うぉりゃ
316 :
Turboくん:2005/10/01(土) 00:41:52
Indy9でメールアプリを作っていますが、添付ファイルの文字化けには閉口ものです。何か対策はないでしょうか?
>>316 添付ファイル名の文字化け?
添付ファイル名に2バイト文字使う場合はMIMEエンコードしないといけないんじゃ
なかったっけ?
IdTCPServer と IdTCPClient を使用しています。
ローカルエリア ネットワーク(LAN)接続だとうまく接続で来るのですが
ルータから外に出る?接続だとエラーになります。(Socket Error # 10054 Connection reset by peer.)
IdTCPServer Connect までは出来ているようです。
何か特別な設定が必要なのでしょうか?
Client から 127.0.0.1 とか 192.168.0.??? のローカル接続は正常に繋がります。
ルーターのグローバルIP 2XX.1XX.0XX.0XX への接続だとエラーになってしまいます。
IdTCPServer が使用するルータのポート設定等はきちんと設定してあります。
XPのファイアーウォールはチェックした?
ルータに接続しようとしてるのか?
>>320 すいません環境提示してませんでした。
ServerアプリはW2K上です。
Indy9.00.11 Delphi6
>>321 グローバルIP アドレスで接続テストしています。
(本来は別の場所から接続するのですがテストなので自宅から自宅に接続している)
いったんルータから外に出てJPNIC? 経由して戻って来るって認識なんだけど・・・
間違ってます?
>>322 セキュリティツールのファイアーウォール設定にポートの許可を
追加しても結果は同じでした。
ルーターで止まってんじゃないの?
Indyのバージョンが古くないか?
9.00.18は悪評を聞いたので
9.00.17に変えてみたら、どうよ。
>いったんルータから外に出てJPNIC? 経由して戻って来るって認識なんだけど・・・
>間違ってます?
うん
内から外にでて内には戻ってこれない、多分ルータがそう処理する(外にはでない)
一部のルータは出来るものがあった(YAMAHA)
>>326 そうですか、実はそんな予想してました・・・(自分のがダメな確証はないんですけど)
調べるにはモニターで見ればいいのかなぁ?
まぁ、他から繋いでテストしてみます。
330 :
デフォルトの名無しさん:2005/10/10(月) 23:33:20
BCB6付属のOpenSSL、スレッドから同時使用すると例外になるっぽい感じ。
はっきり確認したわけではないが他に使ってる人どう?
って、いないかorz
331 :
デフォルトの名無しさん:2005/10/19(水) 16:31:26
SSLBuddyって何者でつか?
E・∇・ヨノシ <333ゲット♫
すいません、くだすれからコチラに誘導されてきました。
indy9のTIdpop3とTIdMessageについて質問です。
日本語のSubjectでちょっと長いやつ(エンコード後に2行になるやつ)
だと変なことになります。
例) 日本語おかしいよ → 日本語おかし 日本語おかしいよ
で、Googleでけっこう探したところ、そこそこ有名なバグらしいのですが、
あちこちで解決策として示されているリンク先がサイト消滅していてどう
しても答えにたどり着けません。
解決ズバリか、参考になるサイトをおしえてもらえませんか?
ここまでがくだすれで質問した内容です。
335 :
334:2005/10/20(木) 02:46:35
その後、さらに調べると、ここのサイトをみつけ、
http://219.117.234.12/nikki10.html そこの記述にしたがって、IdHeaderList.pas の
Result := Trim(Result) + ' ' + Trim(LFoldedLine);
を
Result := Trim(Result) +#10+ Trim(LFoldedLine);
に書き換えました。
それでも直りません。助けてください。
>>334 確かに変になるな。
試しに長い件名付けて自分の所へ送ってみたら、
偉いことになったw
つーか、そのページの対処法を「はしょって」ない?
>対策をしてみたのが下のコードですが、それでもいくつか不具合があります。
のすぐ後の所、ちゃんとやってる?
オレもまだじっくり読んでないし、実行してないけど(Delphiだし)。
>>335 そこ見当違いのことしてる。
多分これが正解。
IdCoderHeader.pas
function DecodeHeader(Header: string):string;
(略)
begin
s := ''; ←追加
while Length(substring) >= 4 do
begin
a4[1] := b64(substring[1]);
338 :
334:2005/10/20(木) 22:32:04
>>337 ありがとう、完璧です。
>>336 いやあ、そのはしょったところ「自分で一行ずつデコード」ってやつ、サボって
はしょったわけではなく、
一行づつデコードでは十分ではないので「そのかわりに」 半角スペース削除
と読んでしまったのよw
いやあ、これ以外にもだいぶバグの対処しながら作ってるけどindyってずいぶん
バグだらけですねえ。まいったなこりゃ。
10だと少しはマシなんだろうかと期待するけど、9にもなってこれじゃ...って思うわな
339 :
336:2005/10/20(木) 23:32:31
340 :
デフォルトの名無しさん:2005/10/26(水) 14:28:35
sshがあつかえるコンポーネントはありませんか?
Indy9でメールクライアント作ってみたが、
メールする相手がいないんだけど。
自分に贈れよ
TIdHTTPクラスでPOSTするやり方がわからないです。
このページを参考にしたんですが、
http://nullpo.2log.net/home/labo/archives/blog/localtool/2004/12/31_011906.html ボディは
submit=%8F%91%82%AB%8D%9E%82%DE&FROM=&mail=sage&MESSAGE=test&bbs=news4vip&key=1130737427&time=1101519832&
みたいになって欲しいのに、
実際はこんなのを送信しています。
---------103105190351765
Content-Disposition: form-data; name="submit"
書き込む
----------103105190351765
Content-Disposition: form-data; name="FROM"
----------103105190351765
Content-Disposition: form-data; name="mail"
sage
----------103105190351765
Content-Disposition: form-data; name="bbs"
news4vip (以下略
Content-Dispositionなんてどこから出てきたんだ?
>>343 その形式は MultipartFormData といい、TIdMultiPartFormDataStream はそもそもこの形式を扱うクラス。
= と & で繋いだ形式は application/x-www-form-urlencoded といい、これを扱うには(多分)自前で行う必要がある。
TStringList と URLエンコード用の何かを探してくればいいんじゃない。
IdHTTP->Postメソッドがあるお?
348 :
346:2005/11/01(火) 14:24:37
Postメソッドだと、TMemoryStreamで値入れれるから、
エンコード・デコード不要なはずだお。
>>346 Postメソッドはないみたいです(><)
え”?
TIdCustomHTTP.Post
Post メソッドは,HTTP データを Web サーバーまたは CGI プログラムに送信します。
function Post(AURL:string; const ASource:TStrings):string; overload;
function Post(AURL:string; const ASource:TStream):string; overload;
function Post(AURL:string; const ASource:TIdMultiPartFormDataStream):string; overload;
procedure Post(AURL:string; const ASource:TStrings; const AResponseContent:TStream); overload;
procedure Post(AURL:string; const ASource:TStream; const AResponseContent:TStream); overload;
procedure Post(AURL:string; const ASource:TIdMultiPartFormDataStream; AResponseContent:TStream); overload
;
ソース見ないことには何とも言いようがないだろう
2chにPostするプログラムのサンプルを作ってくれませんか
>>353 いっぱいあるだろが。専ブラの多くはソース公開してるぞ。
ソース見るの面毒さいんです
ソースを見るのが面倒なら、サンプルもexe形式でいいよな?
ソースを見るのが面倒なら、専ブラをダウンロードして使えばいいんじゃまいか
>>353 その程度自力でできないならプログラムはやめてソフト探した方が早いよ
その面倒くさいことを他人にやらすきかよ
釣堀じゃないんだから何人も釣られるなよ
361 :
デフォルトの名無しさん:2005/11/03(木) 21:17:40
とりあえず、POSTメソッドにバグっぽいの発見した
URLエンコードの際、
1)改行が変なコードに変換され、改行より後ろの文字列が無視される
2) = をエンコードしない
うんこだな、このコンポーネント
少し前にSSLで書き込んだ者ですが結局今はindyをやめOpenSSLを直接使う方法に切り替えました。
BCB6付属のバージョンを使ってましたがリダイレクトが頻繁に発生するページで自動リダイレクトさせていると例外が発生することやマルチスレッドにも対応していないこと、送信データに問題があるままPOSTすると無反応になってしまったりといろいろありましたね。
個人的にはマルチスレッドができないと困るので、まあこれはOpenSSLの問題だとは思いますが直接使うならMUTEXで対応可能ということで、こっちもバグが多い感じですが今は結構まともに動いているのでまあ良しとしてます。
しかし通信関連のコンポーネントはあまりいいものがありませんね。
自分で書いた方がすんなりいってしまうというのもどうかと思うんですが。
>しかし通信関連のコンポーネントはあまりいいものがありませんね。
>自分で書いた方がすんなりいってしまうというのもどうかと思うんですが。
暗いと不平を言うよりも、進んで明かりをつけましょう
暗いと不平を言うよりも、明るいところへ移動しましょう。
ドトネトは暗いね。
まぁね。Delほどじゃないが。
暗いと不平を言うくらいなら電気をつければいいじゃないのよ
電気来てないですが、なにか?
>>370 ページのソースを見よう。
ログイン画面自体にSIDが振られている
みたいだからSIDを取るとこから始めないと無理だと思うよ
>>371 SIDですか?
すいません、それすらわからない素人で…
ちょっと勉強してみます。
ありがとうございました。
>>372 JAVAではなくdelphiで書いてます。
すいません、やっぱりわかりません・・・
SIDを取るっていうのは、ソースのSIDの値を取得することですか?
一応次のURLを指定しているのですが、何か間違っていますかね。
/marusan/sm;_SID_=DrswJMpzjotVqk2n96u2fBr0HhCw26ELbt1RIeOcYDxl1p2c9EPP!1170569019!-*********?mid=M01
など
(よくわからんけど、一応一部伏せときます)
たぶんSIDは
https://grv2.03trade.com/marusan/sm のページを
開くときに振られていて、一定時間しか有効でないはず。
ブラウザを複数開いてソースを比較してみると一回一回違うことがわかる
だからログインページを開く前にSIDを取得して、それでログインする
必要があるはずってこと。
ソースを見るとセキュリティを重視、レスポンスを重視をどうすれば
選べるかもわかるはず。
>>375 はい。
だいたいそのへんのことは予想していた通りなんですが、
それで370のようにやってもうまくいかないんですよね・・・
そもそもPOSTとかそのへんがよくわかってないからなんでしょうか・・・
ちなみに以下のようにやってます。
Res:= TStringStream.Create('');
Value:= TIdMultiPartFormDataStream.Create;
with IdHttp1 do begin
S := Get('
https://grv2.03trade.com/marusan/sm');
end;
Label1.Caption := S;
position1 := Pos('action',S);
position2 := Pos('method',S);
Label2.Caption := IntToStr(position1);
Label3.Caption := IntToStr(position2);
S := Copy(S, position1 + 8, position2 - position1 - 11);
Label1.Caption := S;
Value.AddFormField('bid', '**');
Value.AddFormField('aid', '*******');
Value.AddFormField('pwd', '****');
URL:= 'S'+'1';
// ここで/marusan/sm;_SID_=DrswJMpzjotVqk2n96u2fBr0HhCw26ELbt1RIeOcYDxl1p2c9EPP!1170569019!-*********?mid=M01 を設定
IdHTTP1.Post(URL, Value, Res);
>>377 アドバイスありがとうございます。
SSLのDLLは入れてます。
flgとagtは何もしてませんね・・・
UAとかrefererはどうやって設定するんでしょ?
わからんことだらけですね・・・
すいません。
勉強します。
TCP/IPの本とか見てきたんですが、
このへんのことって書いてましたっけ?
何かwebサーバとブラウザのやりとりのこととか勉強するのにいい本とかありませんかね?
>>378 うまくいかないとはどのように?
実はうまくいっているがリダイレクトで止まってるだけとか。
まあこの手のページはキッチリチェックしてるのでほんの少し違うだけで弾かれるのが常だが。
隠し属性はもちろん必要だしUAやrefererその他で引っかかる可能性もある。
もちろんcookieも重要。
設定はリクエストヘッダでできる。
それからセキュリティを重視、レスポンスを重視は document.forms[0].flg.value = '1' ここで判断してるっぽいので、これがJAVAじゃないのか?ってことね。
ここら辺は詳しくないので違うかもだが。
>>380 言葉足らずですいません。
Socket Error #10054
Connection reset by peer
という例外が発生します。
自分で勉強したいとは思うのですが、
何を読んだらいいのかわかんないんですよね・・・
>flgとagtは何もしてませんね・・・
いや、設定しなよ。
_SID_ も。
>>382 ありがとうございます。
rfc2616というのは知りませんでした。
勉強します。
>>383 376に書いたのと同様に
Value.AddFormField('flg', '**');
とすればよいでしょうか?
やってみます。
サ-バーに切断されちゃってるみたいね。
387 :
386:2005/11/07(月) 03:00:28
>>388 すいません、色々とお手数をかけてしまって・・・
手探りで試してみます。
ありがとうございます。
送信するメッセージが間違ってるんなら4XXとか5XXとかのレスポンスが帰ってくるはずだよね?
問答無用で切られるってのは何だろう?
SSL関係間違いなく組み込んである?
実は80番portに接続しようとしてたり?
http://indy.fulgan.com/SSL/ を見てみたら
shttpclient.zip なんてのがあったので解凍してみた
IndyやDelphiのバージョンは違うかもしれないけど
Main.dfm や Main.pas は参考になりそう。
TIdHTTPとTIdSSLIOHandlerSocketの全プロパティ
公開すれば何かわかるかも?
#IdHttp1のPortは443に設定されているか?とか。
>>394 こういうソース書く奴殴りたくなるな
で、何して欲しいんだっけ?
396 :
デフォルトの名無しさん:2005/11/07(月) 08:18:31
ウィルス?
C++Builder 6にIndy ver10をインストールする方法を教えてください
402 :
デフォルトの名無しさん:2005/11/07(月) 23:27:41
>>402 お互いがんばりましょう。
そのブログは私も見ました。
ライブドア証券は多少認証が甘いのかもしれませんね。
ライブドア証券の口座が開設できたらソースを見て試してみるつもりです。
楽天も口座を持っているので、一緒にがんばりましょう。
同族はいるもんですねw
ま、私はブロッキングが嫌でindyはやめましたけど。
>>404 ブロッキングですか。
ま、私はブロッキングが何かも知りませんけど。
Dmonkey についてる通信コンポもよいよ
うーん
Javaの知識がないのでよくわからないですね。
これを使えば、SSLとかも簡単に使えるんですかね?
つーかコンポはDelphiだよ。
409 :
402:2005/11/08(火) 07:52:52
VCだとCHttpConnectionクラスがSSLなどを気にしなくてもかってにやってくれる。
便利だと判っていても、VCを勉強するのマンドクセ
ログイン部だけでもいいからソース欲しい
ずうずうしいと思われてもしゃないが、これ切実な気持ち。。。
>>409 BCBにしたら、MFCをバキバキコンパイルできるぞ。
CDialogのポトペタは出来ないかもしれないが。
俺はBCBを発売当初から使い続けててプログラムも少しばかり自信があるつもりだったが
>>376の
int __fastcall Pos(const AnsiString& subStr) const;
は知らなかったorz
こんなのがあったとは…今まで自前で書いた関数使ってた。
こっちのが負荷が軽かったら書き換えるべきか。
すいません、SSL通信を行いたいのですが、
以下のエラーがでてしまいます。
何がおかしいのでしょうか?
どなたか教えていただけませんか?
Error connectioning with SSL
まずは412が何をしたのかを説明してくれ。
>>412 Dmonkey についてる通信コンポ参考にしてください。
ユニット名はgsockethttp.pas gsockethttps.pas などです。
indyでこのスレの53なんかを参考にSSL保護されてるページとやりとりしたいと思うのですが、
うまく行くページといかないページがあるんですよね・・・
IENaviTrなんかで見るとたいしてやりとりしてるデータに違いがあるようには見えないのですが・・・
なにか注意することとかありますかね?
416 :
412:2005/11/12(土) 22:24:12
すいません。
415は412です。
>>414 Dmonkeyというのは何でしょうか?
DmonkeyでSSL通信ができるのでしょうか?
SSLのバージョンが違うとか無い?
MLの過去ログであったような。
418 :
412:2005/11/13(日) 00:09:44
indy_openssl096kというのを使っています。
このバージョンのことですかね?
420 :
412:2005/11/13(日) 01:06:45
できたー!
SSLOptionsのMethodですね。
できました。ありがとう!!
421 :
412:2005/11/16(水) 01:31:32
すいません。
今度はCookieがうまくいきません。
サーバーからCookieが無効になっていますって怒られてしまいます。
どうすればいいでしょうか?
http://sonic64.com/2005-05-14.html この辺のページなんかを見てやってるんですが・・・
そもそも、IEがやりとりしてるCookieをそのままコピペしてるのがいけないのでしょうか?
上記サイトのGet Cookieっていうのを試してみてもうまくとれません。
どうしたらいいでしょうか?
ヘルプミー!
>>421 個人的には TIdCookieManager 使った方が簡単だと思う。
> Cookie の有効期限やドメイン、path は一切無視しているので注意。
だし。
TIdCookieManager 使ってみ。
TIdCookieManagerっていうコンポーネントを追加すればいいんですね?
ただ、CookieManagerっていうパラメータがTIdHTTPコンポーネントにあって、ヘルプを見ると自動でCookieの処理をしてくれるみたいなこと書いてあるんですよね…
これはうまく働いてくれないみたいでよくわからんです。
とりあえずTIdCookieManager使ってみます。ありがとん
>>423 貼り付けた TIdCookieManager を TIdHTTP.CookieManager に設定して TIdHTTP.AllowCookies を True にすると
これを使って自動管理してくれるって事。
あ、そうだったんすか・・・
アホですね、オレ。
やってみます。
やっぱりcookieが無効になっているって怒られますね・・・
なんででしょ?
そもそも
IdHTTP1.Request.ContentType := ('application/x-www-form-urlencoded');
とか設定してるにもかかわらず、
The Proxomitronというソフトを使ってサーバとのやりとりを見ると、
Content-Type: multipart/form-data; boundary=--------111605234305593
になっている・・・
うまく設定できてないってことですよね?
>>428 なるほど。
なんとなくわかりましたが、
TMemoryStreamがよくわかりません。
TIdMultiPartFormDataStreamだと
IdMultiPartFormDataStream1.AddFormField('hoge','hogehoge');
TStringListだと
StringList1.Add :=('hoge=hogehoge');
でいけたんですが、
TMemoryStreamだとどうすりゃいいんでしょ?
Writeを使えばいいんでしょうか?
関係ないがTIdCookieManager、知らないなあと思ったらBCBにはないようだ。
ヒント:TMemoryStreamはストリームでありながら、かつ、メモリプール
以下のようにしたら一応入れられました。
Value:= TStringList.Create;
PostData:= TMemoryStream.Create;
Value.Add('hogehoge');
Value.SaveToStream(PostData);
IdHTTP1.Post(URL, PostData, Res);
ただ、IEとデータのエンコード方法が違うみたいなんですが・・・
どうすりゃいいんですかね?
ちなみにSSLが微妙に違って、
IE: SSL cipher SSLv3 RC4-MD5 (128 bits)
自作: SSL cipher SSLv3 DES-CBC3-SHA (168 bits)
なんですが、これらはdelphiの設定でなんとかなるもんですかね?
procedure TForm1.Button1Click(Sender: TObject);
const
FILE_URL = '
http://www.indyproject.org/indy/downloads/Indy_9_00_17_src.zip';
FILE_PATH = 'Indy_9_00_17_src.zip';
var
getsize: integer;
filesize: integer;
fs: TFileStream;
begin
fs := TFileStream.Create(FILE_PATH, fmCreate);
try
IdHTTP1.Head(FILE_URL);
getsize := 0;
filesize := IdHTTP1.Response.ContentLength;
Caption := IntToStr(getsize) + '/' + IntToStr(filesize);
IdHTTP1.Get(FILE_URL, fs);
finally
fs.Free;
end;
end;
こんな感じでCaptionに現在のダウンロード量を表示するにはどうすればいいですか?
Indy 10をC++Builder6にインストールする方法をどなたか教えて頂けないでしょうか?
C++Builder6でTIdHTTPをフォームに貼り付けないで、直接newして使おうと思ったら、includeに必要なヘッダファイルが分からない。
どっかにサンプルとか転がってないですかね?
一遍Formに貼り付けてみるとかgrepするとか
TIdHTTP.hppとかじゃね?
438 :
デフォルトの名無しさん:2005/12/22(木) 23:07:10
インディって何するものですか?
額につけた赤丸です
アレだろ、ほらアメリカの先住民族
バイオニック・ジェミーの役者さん
ハリソン・フォード主演の映画だろ
あれだろ、ほら、M字開脚の
ウーパルーパみたいな名前の…
タイム・アフター・タイム とか歌ってた姉ちゃんだろ
> けっこう有用なスレなので
閑散としてるけど。ついにユーザいなくなった?
みんな2006は買ったか?
Indyも10が乗ってるらしいがBuilderからは使えないという…
del7indy9で充分
ProtocolVersionをpv1_1に変えてもスニッファで監視するとRequest Versionが1.0になっているのですが
1.1にするにはどうすれば良いでしょうか。
451 :
デフォルトの名無しさん:2006/01/17(火) 11:40:23
452 :
デフォルトの名無しさん:2006/01/23(月) 23:57:55
TIdHTTPで取得したソースをスマートにTWebBrowserで表示させることはできますか?
ざっとTWebBrowserのプロパティをみてみたのですが、それらしきものがなかったので・・・
現在はTIdHTTPでソース取得⇒ファイルに保存⇒保存したhtmlファイルをTWebBrowserで指定して表示しています。
Indyのソースライセンス何?
>>455 ttp://www.indyproject.org/License/index.en.html Dual Licensed
Indy is dual licensed. You can review which license better suits your needs, and use that license.
You can even change your mind later if you have previously chosen one.
Licenses
Indy Modified BSD License - The Indy Modified BSD license is a very no nonsense license
that allows you to do almost anything you want with Indy, provided you provide proper attribution.
Indy MPL (Mozilla Public License) License - To make it easier and consistent for JEDI users,
we also offer an MPL license v1.1. License Details.
BSDなら楽だのぉ
459 :
デフォルトの名無しさん:2006/01/26(木) 13:06:07
>著作権表示と免責条項をいれておけばokなのかな
具体的な記述というかコピペするだけでIndy使えるライセンス文きぼん。
ここはそのためのスレだもんね。
ギコ●ビとか、ライセンス書いて無いことない?
>>459 (456の後半部分)
Which license should I use?
You need to investigate them and see which one fits your needs.
The BSD license is simpler and allows much broader use, but requires attribution (See below).
The MPL license is more restrictive, but does not require attribution.
If in doubt, choose the BSD license and just provide proper attribution.
Do I have to provide attribution in the about box?
No. While we appreciate attribution in the about box, it is not a requirement.
A mention in the documentation (or in multiple places),
or any reasonable visible place to the users of the product is acceptable.
There are also Indy graphics and logos you can use.
どちらのライセンスを使うべきでしょうか?
どちらがあなたの目的に適切であるか、調査する必要があります。
BSDライセンスは、単純かつより広い使用を認めていますが、著作権帰属先の表示が必要です。
MPLライセンスは、より限定的ですが、帰属の表示は要求しません。
迷ったら、BSDライセンスを選択し、適切な著作権帰属先の表示をするだけです。
著作権帰属表示をAboutBoxで行わなければなりませんか?
いいえ。そうしていただけるとありがたいですが、要求ではありません。
ドキュメントに記載するか、もしくはユーザが見ることのできる妥当な場所で、かまいません。
Indyのロゴも使用できます。
>>461 ライセンス本文と、免責条項は一緒に入れないとだめでない?
>>463 BSDライセンスなら著作権表示だけで他は、いらないしょ
TIdHashMessageDigest5をC++Builderでの使用法を教えてください
以下のようなコードを書くと
TIdHashMessageDigest5 *encoder = new TIdHashMessageDigest5();
T4x4LongWordRecord hash = encoder->HashValue(str);
[C++ エラー] unit1.cpp(169): E2034 'unsigned int' 型は 'unsigned int[4]' 型に変換できない
と言われコンパイルが通りません
そこで以下のように変えました
TIdHashMessageDigest5 *encoder = new TIdHashMessageDigest5();
unsigned int hash = encoder->HashValue(str);
変えて見たらコンパイルは通るのですが
実行時EAccessViolation で書き込み違反が起こります。
どう書いたらうまく良くのでしょう?
実際にC++Builderで使用している人いますか?
>>465 ちょこっと試してみたが、そもそも
TIdHashMessageDigest5 *encoder = new TIdHashMessageDigest5();
encoder->HashValue(str);
の時点で通らない悪寒。
IdHash.pas で
T4x4LongWordRecord = array [0..3] of LongWord;
TIdHash128 = class(TIdHash)
public
function HashValue(const ASrc: string): T4x4LongWordRecord; overload;
end;
IdHash.hpp で
class PASCALIMPLEMENTATION TIdHash128 : public TIdHash
{
public:
unsigned __fastcall HashValue(const AnsiString ASrc)/* overload */;
};
返り値の宣言が実装と違うので
Result := HashValue(LStream);
が変なところに書きにいっていると思われ。
>>465 C++Builder相談室 Part15
http://pc8.2ch.net/test/read.cgi/tech/1124614110/954 954 :デフォルトの名無しさん [sage] :2006/01/30(月) 11:12:13
>>947 TIdHashMessageDigest5利用したいなら、
IdHash.hppの typedef unsigned T4x4LongWordRecord[4]; をコメントアウトして、その下に
struct T4x4LongWordRecord {unsigned Value[4];}; を追加。
後は IdHash.hpp と IdHashMessageDigest.hpp にあるいくつかのクラスの HashValue メソッドの戻り値が
unsigned になってるので、全部 T4x4LongWordRecord に置き換える。
IdHTTPでproxyを"インターネットオプションで接続する"にするのは、どうすればいい?
レジストリからインターネットオプション設定を取ってくればいいかな。
>>470 Irvineコンパイルしたことないけど、grepするというのは検索すると同義。
Irvineソースの中で、コンポーネントを定義してる部分があるから、
その部分を探し出して(=grepかけて)
そのコンポーネントを登録汁ということではないか。
はずしてたらごめん。
で、多分スレ違い
472 :
デフォルトの名無しさん:2006/02/13(月) 10:30:41
FreePascalでIndy使ってる人いまつか?
>>472 入れただけだけど。
TIdHTTPは動いたよ。(lazarus 0.9.10 & indy 10.1.1 for lazarus)
474 :
473:2006/02/13(月) 14:49:23
>>472 追加
lazarus 0.9.12(最新)ではパッケージインストールのときの本体再構築が通らない
@Windows
向こうにも書いたけど
idetranslations.pasかtranslations.pasのあたりの書き換えがうまくいってない予感
どこがどうダメなのかは追ってないけど
TIdSNTP (クライアント) はあるのに TIdSNTPServer ってのは無いんですね
SNTP Server のライブラリが見つからなくて
476 :
470:2006/02/13(月) 19:31:08
>>471 やはり定義してる部分で登録するのがやはり最善ですか。
分かりやすい解説、感謝します。
スレ違いもすみませんでした。
>>475 NTPぐらいだったら、自分で実装できそうだが・・・
RFC読んだことないけど
∂∮のソース見るとぞっとする。きんもー。
SSL認証についてです。
procedure TForm1.Button1Click(Sender: TObject);
var
SL: TStringList;
begin
SL := TStringList.Create;
with IdHttp1 do begin
try
Request.Clear;
Request.BasicAuthentication := true;
Request.Username := '~';
IdHttp1.Request.Password := '~';
SL.Text := IdHttp1.get('
https://point.rakuten.co.jp/?page=history');
Memo1.Text := SL.Text;
finally
SL.free;
end;
end;
のようにして、楽天市場からポイント情報を取得するようにしたいのですが、
クラスタ例外エラーが発生してしまいます。
WEBプログラミング初心者でおかしいところだらけだと思いますが、ご教示ください。
480 :
479:2006/02/17(金) 17:12:52
libeay32.dll とssleay32.dll をプロジェクトと同じフォルダに置くのを忘れていました。
お騒がせしました。
481 :
479:2006/02/17(金) 17:43:06
何度もすみません。
やっぱりできませんでした…。
スレ違いかもしれませんが、楽天はBasic認証ではないのですか?
(・3・)ローカルプロ串でも噛ませて確認してみればー
>>482 ありがとうございます!
一回噛ませてやってみます。
>>479 トップページにログインフォームあるから違うと思う。
セッションID、クッキーをキーワードにして調べてみましょう。
485 :
479:2006/02/17(金) 23:24:30
>>484 レスありがとうございます!
Basic認証じゃなくてクッキーみたいですね。
IdHttp1.Responseなんかが絡んでそうですね。
どうユーザーIDとパスワードを入れたクッキーにするのかが
難しいですね。
Cookieで送るわけじゃないでしょ?>IDとパス
>>485 楽天の垢持ってないから確認はしてないが、
ログインの為の form から POST すると、Set-Cookie が返って来るんだと思う。
TIdHTTP なら TIdCookieManager くっつけて form の情報を POST すればいいんじゃね?
Indyとか関係ないし。
もっと勉強しなよ。
489 :
479:2006/02/18(土) 15:33:33
度々失礼しています。
>>287 fromの情報というのはどのようにすれば得られるものですか?
Post('
https://www.rakuten.co.jp/myrakuten/login.html', Value, Res);
のようにすることにしました。
ValoueはTIdMultiPartFormDataStreamで、
Value.AddFormField('u, '~');
Value.AddFormField('p', '~');
のようにしているのですが、うまくいかないんです。
>>488さんがおっしゃっているように、Indyではなく、
楽天が何を求めているか、つまり、from情報というのがよく分からなくて…。
490 :
479:2006/02/18(土) 15:34:16
Indy以前の問題だが・・・
他に適切なスレも無いし、ここでやっていいんだろうか?
いいんじゃね
どうせ過疎ってるんだし
form タグの action へ method メソッドを用いて、type=hidden であるものを含めた全ての input の値を送信する。
例)
<form method="post" action="
http://hogehoge/">
<input type="hidden" name="foo1" value="bar1">
<input type="text" name="foo2">
</form>
この場合なら、
Value.AddFormField('foo1', 'bar1');
Value.AddFormField('foo2', { foo2 に入力されるべき値 });
Post('
http://hogehoge/', Value, Res);
になる。
494 :
479:2006/02/18(土) 20:19:20
あーちょうど楽天鯖がメンテ中だ○| ̄|_
>>494 Cookie はスクリプトでやってる場合はともかく、ヘッダに付いて来てるのなら
TIdCookieManager が Set-Cookie も Cookie 自動的に処理してくれるはずだけど?
今更多重垢ポイント集めプログラムかよ
498 :
479:2006/02/19(日) 16:32:03
procedure TForm1.Button1Click(Sender: TObject);
var
Res: TStringStream;
Value: TIdMultiPartFormDataStream;
Cookie_String: String;
begin
Res := TStringStream.Create('');
Value := TIdMultiPartFormDataStream.Create;
with IdHttp1 do begin
Value.AddFormField('CCC', '愛');
Value.AddFormField('CCC', '愛');
Value.AddFormField('Command', 'disp');
Value.AddFormField('SubCommand', 'result');
Value.AddFormField('end_year', '2005');
Value.AddFormField('end_mon', '12');
Value.AddFormField('end_mday', '1');
Value.AddFormField('span', '1month');
Value.AddFormField('limit', '100');
Value.AddFormField('status', '2');
Value.AddFormField('type', '1');
AllowCookies := True;
try
Post('
https://partner.afl.rakuten.co.jp/af/a_report.cgi', Value, Res);
Memo1.Text := Res.DataString;
finally
Res.Free;
Value.Free;
end;
としても、ユーザーIDやパスワードは送れていないみたいで、取得できないみたいです。
ソース見た感じ特に要求されていないみたいに見えるのですが…。
>>497 単垢しか持ってないですよ。
アフィリエイトのポイント管理しようと思って作ってます。
500 :
デフォルトの名無しさん:2006/02/19(日) 17:03:03
Cookie は本来明示的に要求されるものではなく、ドメインが一致すれば勝手に送るもの。
ログインに対するレスポンスとして送られてきてるんじゃないの?
502 :
デフォルトの名無しさん:2006/02/22(水) 11:15:09
Indyのヘルプをダウンロードしてきました
これをF1で反応してくれるようにするにはどうすればいいでしょうか?
Delphi6Personalです
>>502 OpenHelpなんだから、ヘルプ→カスタマイズで、Indyのヘルプファイルを
参加させればいいじゃん。
>>504 Personalだからかな・・・・Pro以上ならあるが。
Personal版の人(というか無料版だったよね)わかる?
BCBのPro版使いだけどカスタマイズ使わなくてもキーワード検索で出てくるよ。
ただPersonal版出てくるかは分からんけど。
D6PersonalでIndyのヘルプ反応できてるけど。
インストーラつきだと自動で入った気がするけど、記憶があいまい。
とりあえず、Helpディレクトリ以下に突っ込んで、
DELPHI6.CNTに直接か、インクルードされてるファイルに
:Index Indy=indy.hlp
:Link indy.hlp
の2行があれば通ると思われ。詳しくはしらべてくれ。
delphi6.GIDが隠しファイルで自動生成されているので、
インデックスをいじったら消しておくこと
受信を中断するのってDisconnectでいいの?
procedure TForm1.Button1Click(Sender: TObject);
var
url: string;
begin
url := '
http://www.hoge.com/hoge.html';
try
Memo1.Lines.Text := IdHTTP1.Get(url);
except
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
IdHTTP1.Disconnect;
end;
509 :
デフォルトの名無しさん:2006/03/10(金) 15:08:35
IPアドレスのサブネットの部分が違うとTCP~HTTPでセッションできないんでしたっけ?
ああ
Indyに限った話じゃないけどな
511 :
デフォルトの名無しさん:2006/03/10(金) 16:05:40
>IPアドレスのサブネットの部分
これってネット番号でよいのかな?
>>510 >ああ
じゃ、ネット番号が違うパケットはルーターが該当サブネットにパケット送った後、
該当サブネットのネット番号に変えちゃうわけですか?
512 :
デフォルトの名無しさん:2006/03/12(日) 04:05:32
インストールするとコンポーネントパレットが一度に増えすぎてしまって
スクロールさせるのが面倒なのですがタブ単位でONOFFはできないでしょうか?
つ GExpert
できます
>>513 早速試してみました
Find Components? Replace Components?いろいろ弄ってますがわからないので
どれを選べばいいのか教えてください
はぁ? コードの問題じゃないでしょ
メニューからIDEのカスタマイズ汁。
HTTPでの同時ダウンロードのソース
・・シンプルなので充分ですから、
誰か下さいませ・・・・ってやはり虫が良すぎですか・・?
Irvineのソースとかいろんなソース見ても
うぅ・・ちょっと難しい・・あぁ欲しいです・・
断る
マルチスレッドにするだけじゃないの?
・・マルチスレッドでプログレスバーのメーターが上がるって感じの
そんなシンプルなソースは、ネットのを参考にして作れました
単純なHTTPダウンロードも同じく。
でもマルチスレッドのダウンロードが何故か出来ませんでした
・・どこかにサンプルとかないでしょうか・・?
ソース上げときゃ誰か見てくれるんじゃね?
524 :
520:2006/03/13(月) 04:49:23
Indyスレだったな
IndyでマルチスレッドはちょっとやっかいだMutexとか
サンプルはほとんどないが少しならあった気が…海外だったかな?
>>522さん
>>523さん
>>524さん
感謝します
自力のソースはあんまりに余計な物が混在してて
もう短時間で修正できない物でスグにはあげれませんで
ソースもなしで要求してすみませんでした。
523さんのソース、早速実行しましたが実行できました
これからじっくりと勉強させてもらいます
本当に感謝します
526 :
デフォルトの名無しさん:2006/03/13(月) 06:13:43
527 :
デフォルトの名無しさん:2006/03/13(月) 18:30:47
>>511 誰か答えて頂けないでしょうか?
オネガイでつ。
528 :
デフォルトの名無しさん:2006/03/13(月) 19:02:54
>>527 ネット番号ってなんだ?
もっと一般的な単語で頼む
>ネット番号ってなんだ?
サブネットの値。
530 :
デフォルトの名無しさん:2006/03/17(金) 10:51:45
531 :
デフォルトの名無しさん:2006/03/17(金) 16:28:57
IndyでRSSリーダーつくれますか?
サンプルほしい。
533 :
デフォルトの名無しさん:2006/03/17(金) 17:47:32
TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
BCB6でTIdFTP(Indy9)を継承するとリンカエラーになるんですが、
どうやって継承すればいいんでしょうか?
class AAA : public TIdFTP {
public:
__fastcall AAA(Classes::TComponent* AOwner) : TIdFTP( AOwner ) {}
};
//----------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
AAA *ftp = new TFtpEx( this );
}
[リンカ エラー] 外部シンボル '__fastcall Idtcpclient::TIdTCPClient::SetPortA(const int)'
が未解決(.........\UNIT1.OBJ が参照)
SetPortAの定義位置もさっぱりわかりません
DelWiki死んだ?
間違い;
< AAA *ftp = new TFtpEx( this );
> AAA *ftp = new AAA( this );
windows.hを先にincludeすると、
WIN32APIのSetPortがSetPortAにdefineされてるから
メンバの名前が変わってしまってエラーになる。
TClientSocketとかでも同じエラーが起こる。
538 :
535:2006/03/21(火) 14:20:20
>>537 ありがとうございます。
いろいろ試してるのですが、
defineを再定義したり、vcl.hより前でincludeしたりしてるのですが、
効果が無いようです。
なにか情報あればよろしくおねがいします。
540 :
デフォルトの名無しさん:2006/03/21(火) 15:27:55
541 :
535:2006/03/21(火) 22:13:53
>>540 ありがとうございます。
#undef SetPort
でうまくいきました
なんだか気持ち悪いですが。。。
>>537 >windows.hを先にincludeすると、
自分もIndyのヘッダーに悩まされたことあったけど、これが原因か。
やっかいな問題だね。
543 :
デフォルトの名無しさん:2006/03/27(月) 14:11:51
TIdHTTPServerが受信中かどうかのプロパティありまつか?
>>334-339 のSubjectの文字化けの件に出くわしてちょっと調べてみた。
http://219.117.234.12/nikki10.html に書いてあることはウソが多いというかEncode/Decodeについて
まったく理解していないで書いているので、参考にはならない。
空白が入っているから文字化けするという下りは、Encode仕様を理解していないための完全なる誤解でしょう。
ちなみに
Decode2022JP(DecodeHeader(IdMessage->Headers->Values["Subject"]));
これでIdMessage->Subject;とまったく同じ化け方になるので
内部でこの変換をしているのだと思う。
encodeの開始文字"=?"とencodeの終了文字"?="
で文字列を切り出してこの単位でdecodeしてJISにdecodeしてから文字列結合していき
最後にDecode2022JP()でS-JISに変換すると文字化けせずにちゃんとDecodeされました。
546 :
デフォルトの名無しさん:2006/03/29(水) 11:50:00
BCB5にIndyをインスコする方法を教えてくdさい
>>546 BCB6proにうpグレードしたら入ってる。
548 :
デフォルトの名無しさん:2006/03/29(水) 12:01:21
いやいや6もってないから5でのやり方を知りたいんですよ。
Fullc5.batを実行してから次は何をすればいいんですか?
551 :
デフォルトの名無しさん:2006/03/29(水) 13:09:00
>>549-550 セットアップは6とは違ったけれどもインスコは6と同じ方法でできました。
ちゃんとパレットに印ディーのコンポが追加されました!
552 :
デフォルトの名無しさん:2006/03/29(水) 13:13:49
すんません。Indy9の日本語ヘルプは何処にありますか?
Borland
Delphi7pro日本語版には付いてる。
マジに
Indy9の日本語ヘルプはBorland にある。
アップデートがあるところだな
557 :
デフォルトの名無しさん:2006/03/30(木) 10:22:48
すみません教えてください。
BCB5にIndy9を入れてIdPOP3を貼り付けてコンパイルすると
winsock2.h(103):fd_setの宣言が複数見つかったってエラーが出るのですが
何が原因なのでしょうか?
>>557 やってみたけど、そんなエラーでないよ。
あ、Indyのヘッダーファイルってクセモノで、includeの順番でコンパイルエラーでまつ。
対処方法は、インクルードをイジル努力。
何か余計な物をincludeしてるんじゃないのかな。
空のFormにTIdPOPを3貼り付けてエラーが出ないことを確認したのち
その通りのincludeになるように確認すれば良し。
>>557 #include <Shlobj.h> した時のエラーに似てる。
563 :
デフォルトの名無しさん:2006/03/31(金) 16:55:50
>>561 544じゃないけど、バグの原因は
>>337でOKだろうね。
ところでbuilderってIndyのソースを変更して再構築って出来るの?
ソースを変更して再構築をしない(できない)場合は、
>>544のやり方で解決するしかないのかな?
564 :
デフォルトの名無しさん:2006/03/31(金) 17:09:41
IdPOP3でIdMessage->SubjectってYahooデリバリーとかって同じのがくりかえされてるんだけど
これってどうしたら正常に変換されますか?
BCB6にIndy9をインストールしたいのですが、やり方が載っているサイトか何か知りませんか?
ぐぐってもわかりませんでした。
567 :
デフォルトの名無しさん:2006/03/31(金) 17:49:40
>>567 釣りは他でやてくれよ。
それとも一つ前のレスさえ読まない真性のバカ?
>>563 再構築でけるよ。VCLの再構築だって出来る。
てか確か.pasコンパイルするときってDelphiのコンパイラに丸投げしてるんでなかったかな。
>>566 >>550
570 :
デフォルトの名無しさん:2006/03/31(金) 18:08:57
>>568 ああ、お前知らないなら知らないって言えよな。
初めて2chで釣りって言葉を覚えたから使いたくてしょうがない厨房って感じだな。
>>569 builderで再構築できるんだ。
でも今Indyのソース見たらdelphiのプロジェクトファイルしか見あたらないけど。
vclはちゃんと再構築用のmakeファイルとかbatとか付属しているから出来るけど。
>>571 プロジェクトファイルないっつーことは、Indy10の話だったのかな。
どちらにしてもプロジェクトファイルはおまけみたいなもんで、ソースさえあれば問題ないよ。
俺実際Indy10コンパイルしたし。
>>572 builderにIndy10って入るの?
>>573 インストールしたのかっつー意味ならしたことあるよ。今入ってないけど。
>550の手順でインストールしたところ、デバッグカーネルBORDBK61.dllが存在しないか、登録されていません。
という、メッセージが出て、すべてのプログラムがコンパイルできなくなってしまいました。
再インストール以外で、解決する方法があれば教えてください
C++Builder6でindy9を使っています。
IdPOP3でUIDLというメソッドが見つからないのですが、使えないのでしょうか?
>>578 Indy9.0.18ですが、Indy10でないとだめということでしょうか?
580 :
デフォルトの名無しさん:2006/04/05(水) 15:08:09
Indy9のIdPOP3でメッセージの受信日時はどのプロパティーにありますか?
>>580 プロパティじゃないけど「now」かな?
IdPOP3を使うということは自分で受信するわけだろ。
いつ受信したかなんてわかりきってるジャマイカ。
582 :
デフォルトの名無しさん:2006/04/05(水) 16:35:06
>>581 いあいあ、自分が受信した時間じゃねーよぼけ!
ヘッダーに鯖が受信した時間とかあんだろ!!
それなんですよ。はい。
この日時を普通にプロパティーから取れないなら意味ないよなあこれ
soreni
IndyのIdPOPってNMPOP3と同じくらいバグあるしなあ
>>582 どのヘッダーか知らんがヘッダーなら調べるのはIdMessageだろ。
そこのプロパティになければExtraHeadersの中を探すか。
一応言っておくとDateヘッダーは受信日時じゃないぞ。
>>582 ヘルプ見ればすぐにわかることを聞くな。ボケ
ヘルプ見れ、ボケ
585 :
デフォルトの名無しさん:2006/04/05(水) 17:36:30
>>583 Dateプロパティーは受信日時じゃないって知ってたから、あえて無視してますた。
ヘッダーてアレね、メールのヘッダーね。
まあ自分で解析すればわかるんだけど、わざわざこういうコンプが用意されてるから
そういうのも簡単にゲットできるんかなーっておもって
>>584 ヘルプはHDがアクセス不能になるくらい見たっつってんだろ!!
鯖が中継した時間なら、最初からそう書けよ、ぼけ
受信した時間とは全然ちがうだろ、あほ
鯖中継時間が必要なことなんて基本的には、ねえだろ
自分で間抜けな質問をしておいて答えてくれた者を罵倒する
>>580 はまるで支那人のような最低な人だと思いますた。
と日記には書いておこう。
588 :
デフォルトの名無しさん:2006/04/05(水) 18:10:54
>>586 他にどんな受信時間あんだよwww
自分が取った時間ならメール全部その時の時間になるだろwww
>>587 質問を理解しないで煽りまくりの基地外がいますたって日記に書いとくよ
ごめんなさいごめんなさい僕がばかですたごめんんささいふじこ。
この質問なら理解してやれる範囲だと思うんだが。
わざと分からないふりしてつついてないか?
あほっ!ばかっ!
592 :
デフォルトの名無しさん:2006/04/12(水) 03:53:02
アップローダにファイルをアップするやり方教えて
マンコにチンコアップするやり方教えて
妊娠させれば可能
TIdHTTPServerでPHPやPerlを実行できるようにしたいのですが、どのようにすれば良いでしょうか。
例えばCGIを実行するには、リクエストのパラメータを環境変数に設定して
引数等をセットアップして、標準入出力の出入り口を設定してから
目的のCGIプログラムを実行する。
Windows上のperlならば、perlインタプリタを実行して、そのパラメータにリクエストされたCGI名を渡す。
プログラムの出力を、(ヘッダのCRLF変換等に注意しながら)レスポンスとしてクライアントに返す。
つーか、(自分で調べず)こんなところで聞いているあなたには、
間違いなく、無理(俺にも無理)。
素直にapacheでもインストールしなさい。
>>597 簡単に言うとリクエストされたスクリプトのパスをperlインタプリタに引数として
渡して出力された文字列をリダイレクトか何かして取得すればおkなんですかね。
なんとなく分かりました。どうもです。
ちなみにうっすらと分かったけど無理くさそうなので今は諦めます。
601 :
デフォルトの名無しさん:2006/04/30(日) 14:05:57
ちょっと別の掲示板で投稿したのですが答えが得られないのでこちらに こちらにマルチポストすいません
TIdTCPServerでソケット通信をおこなっているのですが
コネクトをして、メッセージの送受信まではうまくいっているのですが
実際に送受信するメッセージは短文なのですぐに切断をサーバ側からしようとしています。
それでDisconnectイベントの中でThreadをFreeしようとしているのですが
エラーもでずにそこでだんまりになってしまいます。
スレッド数に上限を設定していないので新たに接続しようとすれば再び新規スレッドで接続するので処理自体はおこなえるのですが
Freeできないまま残ったスレッドが たまってどんどんメモリを圧迫していきます。
具体的には以下のようにしているのですがなぜFreeできないのか、どのようにすべきなのかがわかりません
procedure TServerFrmMain.ServerConnect(AThread: TIdPeerThread);
begin
LogList.Lines.Add(TimeToStr(Time)+' SQLリクエストを受け付けました');
end;
procedure TServerFrmMain.ServerExecute(AThread: TIdPeerThread);
begin
// なにもせず ただ切断
AThread.Connection.Disconnect;
end;
procedure TServerFrmMain.ServerDisconnect(AThread: TIdPeerThread);
begin
AThread.Free;
// ここまで処理がきません
LogList.Lines.Add (TimeToStr(Time)+' リクエストを完了しました');
end;
よろしくお願いします
------------------------------------------------
動作環境:Win2K Pro. Delphi6pro. Up4 indy 9.0.18
よく分からんけどスレッドがちゃんと終わってないんじゃないの?
603 :
デフォルトの名無しさん:2006/05/06(土) 20:36:36
何でnodelistの内容がnilになってるんだか分からないんですが
誰か助けてくださいorz
(nodeはMemoコンポーネント)
↓publicで宣言済み
nodelist:Tstringlist;
FTP.Connect;
ftp.ChangeDir('public_html/qbn/');
ftp.List(nodelist);
node.Lines.Addstrings(nodelist);
ftp.Quit ;
使い方は間違って無いような気がするのに・・・
nilってなんですか?中身が無いってことですかね。
ファイルは間違いなく置いてあるんですけど・・・
あとTstringsとTstringlistは区別が甘いのか。。。?
Create してないとか
> あとTstringsとTstringlistは区別が甘いのか。。。?
区別が厳しいだろ。TStrings は抽象クラスでインスタンスをつくれない。
TStringList は TStrings の派生クラスの一つで具象クラス。
継承、多態を理解しないとこれから厳しいよ
606 :
デフォルトの名無しさん:2006/05/06(土) 22:15:45
駄目だ、、、よく分かって無い間にハイブリットP2Pを作ろうとしたのが
失敗だったような・・・・
nodelist:=Tstringlist.create
ってやるとnodelistは定義されていません・・・とか出てきて
認識しないんですよ
>606
nodelistがスコープ外なんじゃ?どこに定義してる?
スレ違いだお前等
609 :
デフォルトの名無しさん:2006/05/07(日) 05:08:51
get
610 :
デフォルトの名無しさん:2006/05/07(日) 05:10:28
post
611 :
デフォルトの名無しさん:2006/05/07(日) 12:47:43
>>607 {public宣言} ?とか言うところの直下
nodelist:Tstringlist
varで入れても同様の現象が起こる.だめだこりゃ
自己解決。解答くれた方ありがとうございました
varでnodelist:Tstringlist;
としてから、
nodelist:=Tstringlist.create;
ってやったら何故か所得できた。
やっぱ生成してなかったんだろうか
> やっぱ生成してなかったんだろうか
hahaha
> 継承、多態を理解しないとこれから厳しいよ
それ以前にクラスってものを理解しなくちゃダメみたい・・・
617 :
デフォルトの名無しさん:2006/05/08(月) 14:39:13
バグ直った?
>所得できた。
それ以前に日本語(ry
全部同一人物かなぁー? 取得と所得をいっつも間違える人が2年まえから出現している
あれ・・前にも取得と所得を間違える人をどこかで見たような・・
207
二年まえからBBSでたまに見かけるよ。
所得っていうと所得税しか浮かばないし使わない
↑ 所得ゼロかよ。さすが Del 使いの現状は明るいな
収入とか年収とかは使うけど、所得ってあまり使わなくね?ということじゃないの?
626 :
デフォルトの名無しさん:2006/05/10(水) 14:07:16
むしろIndyのバグをさっさとなんとかしれ
確定申告したことない奴にとっては所得って言葉が今ひとつピンとこないだろうな。
所得できた、とはいわんだろ。
(・3・) エェー そんなことないよー
あ
2年前から俺だわ。
何かいつも取得と所得間違える。悪い癖だorz
うわぁ、おまいさん、勇気があるね、ってか素直だね。
匿名でも、俺ならとても書けないな、そんなふうに。
いや、ある意味感動した。
半年じゃなくて2年だから
635 :
630:2006/05/10(水) 22:02:07
このスレと某HPのDelphi掲示板は、俺だろうな。
207も俺だ・・・
他は分からないから、もしかしたら自分一人だけでないかもしれない。
痛いな、俺。
上げちまったorz
>>635 いや、漏まえ、面白いぉ。
∧,,∧
ミ,,,゚w゚彡
ミつ日(ミ
638 :
デフォルトの名無しさん:2006/05/14(日) 19:07:26
しょうもない事を質問させてくれ。
TIdHTTP.Get(URL);
このURLをhttps~にすると例外が飛んできてGet出来ないのはどうして?
httpsのsを削ってhttp~にするとGetは出来る。
こういう仕様?それともこの方法はマナー違反?
SSL だから、IdSSLIOHandlerSocketOpenSSLが必要
640 :
デフォルトの名無しさん:2006/05/15(月) 20:11:17
>>639 ありがとうございます。
早速TIdHTTPにTIdSSLIOHandlerSocketを設定してGetしてみました。
すると以下のような例外が出てしまいます。
プロジェクト Project1.exe が EIdOSSLCouldNotLoadSSLLibrary クラスの例外を生成しました。
'Could not load SSL library.'
ソースを追っていくとDLLLoadCountが0以下の時発生する例外のようで
2度目のGetからは例外は出ず、期待した動作になります。
現在は例外を無視して2回Getするようにしてますが、果たしてこれでよいのか不安です。
どうぞご教示下さいますようお願い致します。
>>640 libeay32.dll とssleay32.dllが必要なはず。公式よく読め
>>641 ありがとう。
無事例外が発生することなくGet出来ました。
wow,you can send mail use local smtp server. look like anonymous.i think you
write some procedure with Indy smtpserver component.
645 :
デフォルトの名無しさん:2006/05/18(木) 14:59:53
回線がつながっていない等の理由で接続できないような状態で
FIdHTTP.Getした時にでる例外’Socket Error # 10060’をキャッチして
適切な処理をしたいのですがどのようにすればよいのでしょうか?
try
TIdHTTP.Get(
http://);
except
on EIdSocketError then
if EIdSocketError.LastError = 10060 then //ここでコンパイルからメッセージがでて実行できない
end
どうぞよろしくお願いします
こんな感じかな。
try
TIdHTTP.Get(
http://);
except
on E: EIdSocketError do
if E.LastError = 10060 then
end;
>>646 ビンゴ ヽ(`Д´)/それだ!
ありがとうございました。
TIdFTPのputの使い方を教えて下さい。
アップするとサーバー上にftpb4Gf69やftpsgtQjmといった名前で拡張子のないファイルが作られてしまいます。
しかも肝心のアップしようとしたファイルはアップされていません。
どうすれば正常にアップロードできるのでしょうか?
ちなみにgetは普通にできてます。
IdFTP1.Host := (省略);
IdFTP1.Username := (省略);
IdFTP1.Password := (省略);
try
idftp1.connect;
idFTP1.Put(extractfilepath(application.ExeName)+'hoge.txt');
finally
IdFTP1.Quit;
idftp1.Disconnect;
end;
649 :
648:2006/05/27(土) 13:09:00
idFTP1.Put(extractfilepath(application.ExeName)+'hoge.txt','hoge.txt');
とやったら解決しました。ボケてました。
650 :
デフォルトの名無しさん:2006/05/27(土) 15:34:17
Indy9のTIdPOP3を使って、メーラーを作ってるんですけど、
たまに、件名が「=?shift-jis?B?」で表示されてしまいます。
どうもコード変換できていないようなのですが、shift-jisの
コード変換の方法について、誰かご教授願えないでしょうか?
651 :
デフォルトの名無しさん:2006/05/27(土) 17:57:09
インディコンポについてどこで勉強するんです?
書籍あります?
652 :
デフォルトの名無しさん:2006/05/27(土) 18:33:51
VBの.NET化により旧VBの独壇場であったデータベースを利用した小規模なスタンドアローンアプリ市場が空白地帯となった。
驚くべきことに、旧VBのライバルだったDelphiはその空白地帯を戦わずして得ることが出来たにもかかわらず、わざわざ.NET化してしまった。
しかも営業不振でIDE売却という憂き目にすらあっている。
Delphiにとっては明らかにチャンスであるにもかかわらず、この有様である。
まことに哀れみを誘う。
for Win32あるよ?
654 :
デフォルトの名無しさん:2006/06/01(木) 11:24:03
SSLのサイトでIdSSLIOHandlerSocketOpenSSLを使いGetすると、
EIdOSSLConnectErrorの例外エラーで実行が中断されてしまいます。
IdSSLOpenSSLの
IdSslSetFd(fSSL, pHandle);
error := IdSslConnect(fSSL);
if error <= 0 then begin
// error2 := IdSslGetError(fSSL, error);
raise EIdOSSLConnectError.Create(RSSSLConnectError);←ココで例外エラー
end;
すみませんアドバイスをください。
Indy10 IdPOP3Server の OnCheckUser イベント
ユーザーとパスワードをチェックした結果を、入れる所がないんだけど
ソース見ても、パスワード入れた後に必ず OK返してるし... org
indy9 かな?
どこでDLできますか
Indyのサイト
解決しましたありがとうございます。
indy9 と indy10 の違いって何ですか?
今、indy9を使ってますが、
indy10にしたほうが便利なことなどあれば、変えてみようかなと思ってます。
IdComponent.pasのメモリーリークはいったいいつ対処されるのかねぇ~。
// Dont Free. If shutdown is from another Init section, it can cause GPF when stack
// tries to access it. App will kill it off anyways, so just let it leak
// if Assigned(GStackCriticalSection) then FreeAndNil(GStackCriticalSection);
663 :
デフォルトの名無しさん:2006/07/23(日) 19:32:01
あげ
664 :
デフォルトの名無しさん:2006/08/25(金) 10:16:06
あげ
665 :
デフォルトの名無しさん:2006/09/04(月) 09:44:52
IndyのHTTPサーバー使ってますが、
何をどうすればIPv6になるのか教えて下さい><
666 :
デフォルトの名無しさん:2006/09/05(火) 22:48:03
ストリーミング放送のMP3をろk
procedure TForm1.Button1Click(Sender: TObject);
const
FILE_URL = '
http://203.131.199.131:8060/koreiina';
FILE_PATH = 'test.mp3';
var
fs: TFileStream;
begin
fs := TFileStream.Create(FILE_PATH, fmCreate);
try
with IdHTTP1 do begin
Get(FILE_URL, fs);
end;
finally
fs.Free;
end;
end;
668 :
デフォルトの名無しさん:2006/09/08(金) 18:47:31
TIDThreadの日本語解説どっかに無い?
669 :
デフォルトの名無しさん:2006/09/09(土) 09:01:09
TurboでIndyをパレットに上げられますか?
はぁ?最初からインストールされ点じゃん
URLDecorde メソッドを使いたいたくてindyを入れましたが、
ブラウザから送られてきたメールをデコードするとSJISしかきちんと
デコードしてくれません。EUC-JPやその他の文字コードで送られてきた
メールをでこーどするにはどうすればいいのでしょうか。
>>672 NKF32でも使ってS-JIS化すれば?
Indy10をC++Builder6にインストールすることはできませんか?
677 :
675:2006/11/15(水) 16:56:32
サンクスコ!!!
サーバのReadBufferで受信待ちいているときに
クライアントが何も言わずに応答が無くなってしまった場合、
永遠に待ち続けるのですが、これをどうにかする方法
たとえば、一定時間(5分?とか)応答がない場合切断したと見なすには
どうしればいいでしょうか?
要するにLANケーブルを抜くとReadBufferから戻ってきてくれません。
事故解決しました
自己オナニーしますた
ReadTimeout = 0 がデフォルトになっていたのですが、
0以外にすると指定時間で例外を投げるようです。
ウリの場合は60000として一分でタイムアウトするように設定して
それを捕まえればOKになりますた。
ちなみに675-680まですべて自分ですorz
685 :
デフォルトの名無しさん:2006/11/15(水) 22:38:32
オナニーage
TIdHTTPでGETするデモで、大きいファイルをダウンロードしてみると
ダウンロードが完了するまで操作できなくなってしまうのですが、
TAntiFreeze貼り付けても変わりません。スレッドで使うものなんでしょうか?
そうでなきゃ完了を待てないじゃん
Indyはブロッキングが基本だよ。
ノンブロッキングしたいならICS使えばよろし。
>>687 スレッドを作って、そこで、GETだな。
>>689-690 そうだったんですか・・・
OpenJaneのソースを見るとやっぱりスレッドですね。
その他もほとんどがTComponentの派生なのでスレッドで扱いにくいような気がします。
クッキーとかまでTComponentの派生だし
>>688 ネゴシエーションを裏でスレッドでやってくれて、完了時にイベントが発生すればよさげじゃないですか。
>>691 >その他もほとんどがTComponentの派生なのでスレッドで扱いにくいような気がします。
意味不明
693 :
デフォルトの名無しさん:2006/11/20(月) 11:50:32
おまえが意味不明
「TComponentの派生なので」これと
「スレッドで扱いにくい」これの論理的関係を説明せよ
695 :
デフォルトの名無しさん:2006/11/20(月) 12:00:20
空気嫁
空気嫁でもいいからほすい
Indyってライセンスとかどうなってんの?
使ったらなんか書いておかなきゃいけないの?
教えてえろい人たち
MPL Licenseってよくわかんないけどとりあえず
Portions of this software are Copyright (c) 1993 - 2003, Chad Z. Hower (Kudzu) and the Indy Pit Crew -
http://www.IndyProject.org/ これいれとけばいいってことね。ありがとう。
>>699 そうです。基本使うだけなら、著作表示をドキュメントに書けばいいだけ。
702 :
デフォルトの名無しさん:2006/11/24(金) 22:26:08
TIdPOP3を使っています。
Indyの不思議な挙動に悩んでおります。
BDS2006 C++ Builder Indy Version 9.0.50
[1]添付ファイルがあるメールで、RetrieveRaw()で取得すると、ヘッダがデコードされます。
この現象が発生するときは、逆にRetrieve()とRetrieveHeader()ではヘッダがデコードされていません。
バグでしょうか?
[2]Content-Type: multipart/alternative; のメールで EIdExceptionが発生。
内容は、DecodeToStream 内の不均一なサイズ。
multipartの区切り文字列をちゃんと認識できていないようです。
これもやはりバグでしょうか?
[3]Date: , 9 Nov 2006 22:1:00 +0900 こんな曜日が抜けたDateがあると、
EConvertError例外が発生。そして、
Date: Sat, 30 Dec 1899 09:00:00 +0900
とデコードします。
それと、EConvertErrorをcatchできません。
EConvertErrorをcatchするにはどうすれば良いでしょうか。
Indy10にしてみたら?
704 :
デフォルトの名無しさん:2006/11/26(日) 20:57:31
>>703 Indy10は、BDS2006のC++ Builderをサポートしていないのですよ。
705 :
デフォルトの名無しさん:2006/11/29(水) 12:17:10
CombineUrl
>>706 > CombineUrl
㌧くす m<_ _>m
Indyすげ~バグだらけだね。特に日本語関連が絡むと正常に動作しないと考えた方がいい。
毛唐が作って日本語テスト環境がないから全然テストしてないんだろうな。
そして日本人からのバグフィードバックの仕組みがないからますます日本語関連はバグが蓄積されていく。
709 :
デフォルトの名無しさん:2006/12/07(木) 15:11:45
俺すぐ使うのやめたよ。これバグしかないし
頭にバグがあるんだよ
Indyのバグの一例
JISコードのKanji outを認識しない。
毛唐は、JISのKanji inは仕様書みてインプリメントしたんだろうけど、Kanji outは見落としたようだ。
テストすれば簡単にわかるバグだがきっと一度もテストしていないのだろう。
このレベルのバグがてんこ盛りだ。
日本人なんて相手してられっかよ
Indyはバグってるの見つけても隠蔽されすぎてて、全体的に理解しておかないと追いかけるのがしんどい。
Synapseはダサいけど単純で見通しがいい。
Indyなんて使わない方がラク
何を使うのがいい?
ICSかSynapse
Indy9のマニュアルがダウソ出来ないんだけど
どうすりゃいいの?
HTMLソースからINPUTタグのnameとvalueの値を参照する良い方法ないでしょうか?
アクセスの度にnameの値が変更されているのです。
方法も何もHTMLもただのテキストファイルじゃん
723 :
デフォルトの名無しさん:2006/12/23(土) 19:53:01
こんなの作る気だな
724 :
デフォルトの名無しさん:2006/12/23(土) 19:53:06
こんなの作る気だな
725 :
デフォルトの名無しさん:2006/12/23(土) 19:53:14
こんなの作る気だな
726 :
デフォルトの名無しさん:2006/12/23(土) 19:53:21
こんなの作る気だな
727 :
デフォルトの名無しさん:2006/12/23(土) 19:53:39
こんなの作る気だな
728 :
デフォルトの名無しさん:2006/12/23(土) 19:53:44
こんなの作る気だな
729 :
デフォルトの名無しさん:2006/12/23(土) 19:53:50
こんなの作る気だな
730 :
デフォルトの名無しさん:2006/12/23(土) 19:53:55
こんなの作る気だな
nilぽ
Turbo Delphi ExplorerでIndyを使う場合、ソース上で直接インスタンス作ったりしなくちゃならないんですかね?
いちいち貼り付けて使う方がめんどいわ。
困ったことに、海外のサイトを見ると、Turbo無料版の制限をとっぱずすツールとかが堂々と配布されているから参るな。
ああいうツールは使っちゃいけないんだろうな多分。
>>732 俺もその都度ソースでcreateして使ってる。
関数・手続き内で使い終わったら即free。
貼り付けてグローバルでの使いまわしはトラブルの元かな。
Turboはインスコ時に付属のIndy10入れればポトベタできるんじゃないの?
入れてないから知らないけど
>>735 D7Proのバージョンアップ版なんてのまで配布してるしねぇw
ほしゅ~ん
Delphiスレのほうにも書いたけど、Indyスレがあったのでこっちで質問させてもらいます。
TCPServerのReadbufferで受け取ったサイズを取得するにはどうすればいいのかわかりません。
sizeofでもすれば?
741 :
デフォルトの名無しさん:2007/01/25(木) 14:44:14
>>740 それだとバッファのサイズになりませんか?
>739
Indyのバージョンは?TCPServerってなに?質問するときは(ry
でReadとReadBufferがあった場合、Readは読み込みが不完全でも読み込めたサイズを
返すことでどこまで読めたのかがわかるのに対して、ReadBufferは読み込みが不完全だと
(指定バイト数分読めないと)例外が発生する。
と、あてずっぽうで答えてみるテスト。
744 :
デフォルトの名無しさん:2007/01/27(土) 23:14:02
>>743 TCPServerわからないなら無理して答えなくていいよ
745 :
デフォルトの名無しさん:2007/01/28(日) 00:03:50
746 :
デフォルトの名無しさん:2007/01/28(日) 00:23:45
>>745 ページがうざすぎる。tripodじゃなければ、あとスクリーンショットがほしい
perlの
&httpreq::get(URL, "todayweb.txt");
と同様な処理は
indyではできるのでしょうか?
もしできるならやり方を是非
ご教授下さい m(_ _)m
748 :
デフォルトの名無しさん:2007/02/24(土) 23:23:48
保守
Delphi6ProにIndy9をインストールしました。
試しにHTTPコンポーネントを配置して実行しようとすると
「ユニット IdGlobal は異なるバージョン System.RTLVersion によりコンパイルされています」
とエラーが出てコンパイルできませんでした。
Delphiを再インストールし、Update#2,RTL2,RTL3のアップデートを当ててもダメでした。
どうしたらいいのでしょうか?
Delphi 6の使用許諾もリンク切れで取れないし...
どうしたらいいんだろかorz...
>>749 俺も同じ症状になってる
こちら(
ttp://notes.ifdef.jp/note/delphi_indy.html)を参考にIndy9を再インストールしても駄目だった
過去ログ漁って下の試しても駄目だった
何とかしてー><
469 名前:デフォルトの名無しさん[sage] 投稿日:04/01/02 00:29
INDY9をインストールしたのですがDEMOSをコンパイルしようとすると
エラーがでてきました
>[致命的エラー] MainForm.pas(7): ユニット IdGlobal は異なるバージョン System.RTLVersion によりコンパイルされています
検索していくうちにアップデートを適用したほうがいい、というように書かれていましたので
元々適用していましたが再度確認しました
>Delphi 6 RTL アップデート #3
>Borland Delphi 6 アップデートファイル #2
しかし、結果は同じです
どうすれば正しくコンパイルできるのでしょうか
470 名前:デフォルトの名無しさん[sage] 投稿日:04/01/02 04:53
>>469 dcuファイルの削除。
こりゃ電話が確実だな
あとはWindowsの再インストールが選択肢に有るけど
これは、できればやりたくないし...
INDY9を再構築
ありがとうございました。出来ました!
簡単なHTTPプログラムで通信できることも確認しました。
1.Delphiアンインストール、残ったBorlandフォルダを手動で全削除
2.Delphiインストール(カスタム-「プログラムファイル-:Indy」インストールしないを選択)
3.Update#2
4.RTL#2
5.RTL#3
6.Indy9バッチファイル展開、Libパスへフォルダコピー
7.パッケージインストール(実行時パッケージを使って構築」のチェックON)
8.ライブラリパス設定
使用承諾は明日電話するかな...
757 :
デフォルトの名無しさん:2007/04/19(木) 22:05:35
テス
Java6にアップデートしたら組み込んだアプリを起動すると
OSごと落ちてしまうようになってしまいました。
Indyのバージョンアップで改善されますか?
または、他のバージョンでは問題ありませんか?
OS Windows XP SP2 Indyのバージョンは 9.0.4 beta です。
759 :
デフォルトの名無しさん:2007/05/13(日) 08:23:54
なんで、Indyのバージョンアップで解決されるんだ・・・????
もし、Java6入れたらなったんなら、Java6が明らかかに悪いだろそれ
>>759 たぶんJava6が悪いと思うのだが、他のバージョン(新しい)で問題ないって
ことなら、バージョンアップで回避しようかと思ったのです。
実際のところ、Javaか自アプリのどっちに原因があるのか調査中なんだけど
なにか情報ないかと思いまして
少なくともIndyは関係ないだろ・・・
常識的に考えて
762 :
デフォルトの名無しさん:2007/05/14(月) 18:02:19
Indyバグだらけだしね
スレッド内部でCreateしたIndyコンポーネント(TCompoentの派生)のイベントハンドラに
メインスレッドのイベントを指定して使っていいの?
×メインスレッドのイベント
○メインスレッドの手続き
>>762 そういわれてるから、バージョン違えば落ちないってこともあるかと思って・・・
てか、誰もJava6で問題に遭遇してないのか?
>>763 そのイベントかイベントハンドラがスレッドセーフなら。
あと、関数やメソッドはスレッドについてるものじゃない。
スレッドが関数やメソッドを呼ぶのだ。
767 :
デフォルトの名無しさん:2007/05/29(火) 10:22:49
自分のIPアドレス取得する方法教えて下さいでつ。
ヘルプで見つかりません。
無理
770 :
デフォルトの名無しさん:2007/05/29(火) 20:20:23
>767
定期的に出るな、この質問は。グローバルな、つまりインターネット上から見たIPアドレスという意味なら、
UPnPで取得するか、外部のコンピュータから見るかのいずれかしかない。つまり普通の意味で
グローバルなIPアドレスを知る方法があるか?という質問であれば、そういう質問をしている間は無理、
というのが回答。
w
773 :
デフォルトの名無しさん:2007/05/30(水) 09:44:00
>>771 LANというか、ドメイン内でのIPの取得教えてください。
774 :
デフォルトの名無しさん:2007/05/30(水) 11:08:04
うんこ
775 :
デフォルトの名無しさん:2007/06/02(土) 20:37:43
776 :
fushianasam:2007/06/02(土) 21:58:11
テスト
778 :
fusianasan:2007/06/15(金) 22:07:43
テスト
fusianasanな訳だが・・・
780 :
デフォルトの名無しさん:2007/06/19(火) 12:44:04
むしろICSの日本語サイトってないですかね?
…むしろ?
782 :
デフォルトの名無しさん:2007/06/20(水) 10:45:23
いや、逆に、
なおさら、
いわずもがな、
785 :
デフォルトの名無しさん:2007/06/20(水) 17:37:31
あまつさえ、
天津 冴(あまつ さえ)は、日本の漫画家。
787 :
デフォルトの名無しさん:2007/06/21(木) 10:50:00
ほら滑った
あづまっくす
ほらぬめった
>1の日本語ヘルプって今はどこにありますか?
791 :
sage:2007/06/27(水) 07:26:40
Indy10でhttpsで始まるホームページを表示させるには、どうすればいいのでしょう?
IdHTTPのIOHandlerとIdSSLIOHandlerSocketOpenSSLをリンクさせましたがReadtimeoutとなりうまくいきません。
Delphi2006とIndy10.0.0.17です。
794 :
デフォルトの名無しさん:2007/08/15(水) 17:39:49
Indy の HTTP Serverって、受信したURLが長くても切ったりしませんよね?
>>794 1000文字くらいのURLで試して大丈夫なら大丈夫なのでは?
797 :
デフォルトの名無しさん:2007/08/16(木) 17:44:13
>>796 知らないならレスしないで下さい。ウザイだけです!
レスするんなら、
>どこどこのソースに定義してあるお。
>ここの値大きくすればおkだよ、
とかじゃね?
どれだけ質問者に絡めば気が済むのかと。
>>799 レスするんなら、
>どこどこのソースに定義してあるお。
>ここの値大きくすればおkだよ、
とかじゃね?
801 :
デフォルトの名無しさん:2007/08/17(金) 15:17:10
うざい?じゃあ続けよ~っと
∩___∩
| ノ ヽ/⌒)
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/
.( ヽ |∪| /
\ ヽノ /
/ /
| _つ /
| /UJ\ \
| / ) )
∪ ( \
\_)
続ける?
おまいいつもその調子だろ。それしか出来ないんだろwww
そうだよ
それが何か?
_, ,_
(^Д^) プギャー
m9 ヽ)
/ ノ
(,/^ヽ)
つーかレス遅いよ
もっと相手してよねー
もうお終い?
_, ,_
(^Д^) プギャー
m9 ヽ)
/ ノ
(,/ωヽ)
(,/ωヽ)イヤン
リアルで麦茶吹いた
自分自身の短気のせいで回答をもらえなかった乞食質問者
_, ,_
(^Д^) プギャー
m9 ヽ)
/ ノ
(,/ωヽ)
Indy9のMS HTML Help2って、付属のソースコードでHxSとHxIに変換できるって事なの?
IdFTP->Connect(true, 1000);
の後にListしたらEIdProtocolReplyErrorで例外がでてしまう
FTPサーバからのウェルカムメッセージはどう処理すればいいの?
普通に
ftp.GetResponse(XXX)
とかじゃだめなの?
(><)ってことはダメってことなのかな?
普通ウェルカムメッセージが
200 Welcome!
とかなら
ftp.GetResponse(200)
でエラーなしと判断するわけだけどそういうことではなくて?
ではなくて
Connect()の後に発生するConnectedイベントの中でListしてたんだけども
イベントログ出してみたら順番が逆転してた…
理由はわからんが、とりあえずConnectedイベント使わないようにしたら動いたよヒャッホイ!
お騒がせさまでした
うるせー豚野郎がっ!
たまには牛が食べたいよう母さん
ピザでも食ってろ
IdTelnetの受信スレッドで発生した例外ってどーやったらcatchできる?
IdTelnetThread.OnExceptionってのがあったんで、とりあえずこれで考えてみる事にする
824 :
デフォルトの名無しさん:2007/11/07(水) 13:18:54
メール受信でgb2312ってコードを日本語に変換する方法を教えてください
中国語コードを日本語に変換するのか
面倒くさそうだなあ…
826 :
デフォルトの名無しさん:2007/11/07(水) 17:24:37
いや日本語じゃなくて普通にデコード
827 :
デフォルトの名無しさん:2007/11/13(火) 18:48:12
828 :
デフォルトの名無しさん:2007/11/22(木) 15:21:04
C++Builder2007のIndy10でここの
>>271-276を参考に
IdUDPServer使ってやろうとしたんだが、ADataの型が変わっててorz
とりあえずは作ってみたがスマートじゃないからなんか納得いかず…
static char buff[MAX_DATA];
void _fastcall TForm1::IdUDPServer1UDPRead(TObject *Sender, TByte AData, TIdSocketHandle *ABinding)
{
for(int i = 0; i < MAX_DATA; i++) buff[i] = '\0';
for(int i = 0; i < AData.Length; i++) buff[i] = AData[i];
~受信処理~
}
他にいいやり方ってありますか?
あと、1回でも受信をすると、終了時にデバッガ例外通知として
EIdSocketError(メッセージ'Socket Error#10004 Interrupted system coll.')
が出てくるが、これの詳細or出なくする方法はありますか?
イベントログを見ると、受信した際にスレッドの開始とあるから、
予想では内部のスレッドで受信待ち状態になってると思うのだが…
INDYは9と10どちらをインストールすればよいですか?
好きな方
べ、べつに好きでインストールなんかするわけじゃないんだからねっ!!
ربثثفتةلاةأززـكددحعکشيلاتوإأ
٤٧غل٩نعخنتل٨.ِـيـْوًًامعاإتل
>>833を使ったら「Core」「Protocols」「SuperCore」「System」を検索パスに追加して再構築しないと使えなかったわ
835 :
デフォルトの名無しさん:2007/12/17(月) 14:18:47
C++ 版のIndyは無いですか?
もしくはIndyライクなもの。
あるじゃん
あ、いや、.dcuじゃなくて、.cppのソース。。。
Delphiくらい読み書きできるようになれ。
C++覚えたら難しいものじゃないだろ。
お前みたいな子供に言われたくない
a
C++ならいくらでも通信ライブラリあるでしょ
意外にIndyみたいのは無い。
Indyみたいにバグだらけのって少ないよね
自分で書いた方が早いしな
845 :
デフォルトの名無しさん:2007/12/21(金) 11:44:53
846 :
デフォルトの名無しさん:2008/02/02(土) 22:15:30
やはは
ダイジェスト認証を行ってくれるコンポーネントはありますか?
はい
849 :
847:2008/02/07(木) 14:57:14
>>848 そのコンポーネントは、なんという名称でしょうか?
保守
Indy10のTIdHTTPで、Methodなどの必要なプロパティを設定した状態で
リクエストを送信させたいのですが、そういうメソッドはありますか?
Methodを指定できるのにGetやPostを使うしかないってことは
なさそうだとは思えるのですが。
sftpを簡単に扱えるコンポーネントはないのでしょうか?
853 :
デフォルトの名無しさん:2008/04/22(火) 00:48:23
ほしゅ
854 :
デフォルトの名無しさん:2008/08/20(水) 04:07:05
ほっしゅ
どなたかIndyの日本語ヘルプを持っている方おりませんでしょうか?
ボーランドのDelphi 7 ドキュメントアップデート・ダウンロードサービスのファイルは
既に消滅してしまっているようでして。
あざーす
過疎ってるから半分ダメ元で書きこんだのに速攻でレスがあるとは。
DirectPlayで通信部分作っていたのですが、
いろいろと不便なのでIndy使って作り直してみようかと思った次第です。
Indy10で作り始めているのですが、
せっかくヘルプ頂いたのだからIndy9を入れ直した方がいいのかしら。
ヘルプは9使ってるけどindy10でも別によくね?
いろいろ動かしてみましたが、
微妙に変わっているもののindy10のままで何とか動きそうです。
それにしても便利なコンポーネントですね。
こんなにあっさり通信できていいのかと思うぐらい簡単に接続できますな。
早速ロビーを作り始めようと思います。
TIdHTTPのGetを途中でキャンセルするにはどうすればよいのでしょう?
TIdHTTP.IOHandler.Close;
フォーム破棄時に上記のような処理で適当にごまかしてるけど本当はどうするか知りたくて・・・
ここはねんがんのヘルプをてにいれた俺が
ニア IdHttp1.Disconnect;
>>861 フォーム破棄時にそれを入れてみました
するとIOHandlerのソース周りで例外が・・・
IOHandler.Close; だとこの例外はでないけど
Disconnectの例外が出るんですよね・・・
んー、わけわかめ
>>862 誤答サーセン
indy9と10の違いにとまどいつつもTCP/UDP共に
接続送受信切断まで出来ました。
ホント便利ですなindy。
IdTCPServerとIdTCPClientで通信しているのですが、
IdTCPClientはIdTCPServerのように受信を検知することはできませんでしょうか?
仕方なくTimerを使って定期チェックしているのですがどうにも処理が重くて。
サーバ側との通信路が遮断されてもクライアントでは気が付かないこともあるので
クライアントはサーバとの接続がいつ切れてもいいようにするべき
なのでわがまま言わずに定期チェックしませうw
あざーす。
定期受信チェックなのですが、
データ到着の有無を返してくれる関数が見つからないので(Indy10です)
var RcvDt:TIdBytes;
IdTCPClient1.IOHandler.ReadTimeout := 1;
IdTCPClient1.IOHandler.ReadBytes(RcvDt,-1);
if Length(RcvDt) = 0 then Exit;
というようにデータの受信を判断しているのですが、
本当は他に何かナイスな到着判断方法があったりするのでしょうか?
俺はエスパーじゃないので答えられないよw
でも通常はつないでデータもらえるか待ってみて
もらえたら受け取って切る、を繰り返すけどね。
メールクライアントもそうでしょ?
>>866 昔、Indyt使って遊びで作った複数チャットのソース見直してみたら
ログオン後に、Readを別スレッドで回してたな
1人が書き込むと、サーバ介して全員にメッセージがすぐに届くというやつ
まぁ、連続したデータじゃなければ
>>867 の形だろうし
他には UDPを組み合わせて、メッセージ着信のトリガーを
サーバから受け取るなんてのが、効率が良いんじゃないかな
まぁたしかに馴染みがなければブサイクなコードに見える
あざーす参考になります。
IndyもDelphiも直接は関係ないのですが、
インターネットを介してルーター越しにTCPとUDPで通信しとりまして、
ホスト側のポートさえ開いていれば双方向のTCPが繋がるのはなんとなく分かるのですが、
UDPで通信する場合ホスト(port開いてる)→クライアント(port閉じてる)は届かないものの、
一度クライアント→ホストにUDPで何か送ると、
なんかしばらくの間ホスト→クライアントのUDP通信が届くようになるのですが、
この仕組みやら、再び通信が届かなくなるまでの時間やらよく分かりません。
他のスレが過疎っているのでちょっとこちらに書かせていただきました。
どなたかご存じの方いらっしゃいますでしょうか?
あざーす。
調べてみましたがこんな仕組みがあったとは。
873 :
デフォルトの名無しさん:2008/10/30(木) 07:13:34
おはようございます。
質問ですが、DelphiでidFTPを使って鯖にログインした時にリストボックスにアイテムをリストアップさせたいのですが、どうにもうまくいきません。
以下がコードです。
procedure Tform1.DisplayFTP;
var
i, c : Integer;
s : String;
begin
lbDirectory.Items.Clear;
FTP.List(lbDirectory.Items, '', false);
end;
procedure TForm1.FtpAfterClientLogin(Sender: TObject);
var
i, c : Integer;
s : String;
begin
DisplayFTP;
end;
おかしい箇所とか改善箇所ありますでしょうか?
>>873 「うまくいきません」の内容をはっきり書いて質問することから改善した方が・・・
>>874 すいませんでした。
うまくいかない内容は、ログイン成功したあとにきちんとリストアップしてくれないという事です。
synapseに汁!
878 :
デフォルトの名無しさん:2008/10/31(金) 06:48:10
結局875の解決になってないなw
まあおれも原因わからんが
ソース見ないとわからないもん
881 :
873:2008/11/03(月) 14:41:53
ここでの質問はあきらめて別のところで質問してみます。
882 :
デフォルトの名無しさん:2008/11/17(月) 15:40:01
age
883 :
デフォルトの名無しさん:2008/12/24(水) 22:25:11
なんか、公式サイト 死んでね??
大丈夫みたいだけど?
885 :
デフォルトの名無しさん:2008/12/25(木) 00:07:28
あ、サイト自体は生きてるけど、ダウンロードとかが404
ああ、QCとかも動いてないね。メンテナンスでなんかやらかしたか?
IndyってHTML描画コントロールは無いんでつよね?
ないね。IEかFirefoxを取り込んで使うのが普通じゃないかな。
サンクス
Indy一色でやりたいんだけどねw
つまりVCLは使わないと
Indyの中の人もVCLでIndyはDel7/BCB6以降製品に組み込まれましたから、残念!
Delphi 2009 + TIdHttp の Post メソッドで TStringList に入れた項目を送信しようとしているのですが、
Unicode で送信されてしまいます
SJISで送信する方法ってありますか?
Delphi2009を窓から投げ捨てろ
どっちで処理するかの違いしかないんだろうが
2009って面倒くさそうだな
895 :
デフォルトの名無しさん:2009/03/01(日) 00:04:53
>> 892
jconvertで変換すればいいのでは?
896 :
デフォルトの名無しさん:2009/03/13(金) 01:57:26
インディの接続が遅いんですが・・・
TCPサーバー側のサンプルだと、
AThread->Connection->WriteLn("Hello from Basic Indy Server server.");
AThread->Connection->Disconnect();
↑
クライアントからの接続は速攻Disconnectしてるんですが、
これを Disconnect()せずに、connect状態を維持しようとすると
CPUパワーを100%喰います。
こういう仕様なんでしょうか?
897 :
deldel:2009/04/10(金) 08:26:34
みんな何であんな使いにくい indy なんかを使うんだろう。
■メール?・・・だったら、「Bsmtp.dll」なんかを使った方が
よっぽど楽(外部dllが嫌だったらあれだけど)
■ソケット通信?・・・これは、indyの意味不明な動きがあり。
Winsockを直接使った方が簡単で確実。
どうも、DelphiについているInternet関連VCLは使いにくいと言うか
役に立たない。
Delphiは今でもWindows最高の開発環境と思うので本当は
その辺も考えてほしいなあ~。
(本体がいいだけでも良しとするか・・・)
IndyってHTTP通信専用じゃないの?
メールやソケット直なんて使ったことも無い。
Indyはなんというか、ゴテゴテしすぎで逆に使いにくいんだよな
もうちょっと単純化したほうがいいと思う
そうかなあ
そうIndyは、なんかわかりずらい
まるでマヤ語のようだ、、
( ゚Д゚)ハッ! そういうことか!
902 :
デフォルトの名無しさん:2009/04/12(日) 15:41:51
Indyの欠点は、バグが多いことだ。
でもソース付きだから自力でバグを修正して使っている人々も結構いるのではないだろうか。
しかし、それらがちゃんとフィードバックされて、最新版で反映されることはない。
開発しているのが毛唐で、どうフィードバックすればいいかわかんねえからだ。
あと、BDS2006以降のバージョンでは、Indyの再構築用ファイルが添付されていない。
なのでどうやって再構築すればいいのかわからん。
下手に再構築に失敗して安定している開発環境をぶちこわすのも嫌だしな。
おれは、Indyのバグ対策は該当クラスを継承して、新クラスを作成して対応している。
日本語でバグ報告できる窓口とかあれば、だいぶ違うだろうな。
Indyが接続が正常に閉じられるとEIdConnClosedGracefullyを発生させるのってどういう理由でなんだろう
俺は例外ってのはどうしようもない時にだけ飛ばすものだって考えてるから、どうにも違和感感じるんだけど
>>902 環境壊れたら再インスコすればいいじゃん
>>903 >例外ってのはどうしようもない時にだけ飛ばすものだって考えてるから
いや、このりくつはおかしい。
catchしる!
例外っていいよな。
同じ関数から型が違うオブジェクト生成できるし。
例外そのものを飛ばすことを言っているんじゃないか?
TRUE、FALSE、0、非0でやれよみたいな。
まぁ例外には例外のよさもあると思うけど。
まぁ正常動作時の実行経路にraiseがあんのは違和感ありだぁね。
synapseでいいじゃん
それってTCP/IPまでだおね。
んなわけない
あ、思いだした。
HTTPクライアントはあるけど、HTTPサーバーは無いでそ。
HTTPサーバーはやっぱIndy。
すみません、質問お願いします
上の方で楽天のログインに挑戦されてる方のレスを参考に、
ニコニコ動画への自動ログインを試みているのですがどうもうまくいきません・・・
ソースは↓の様になっていますがこの場合どれを送信すればいいのでしょうか?
<form name="login_bar" id="login_bar" method="post" action="
https://secure.nicovideo.jp/secure/login?site=niconico">
<input type="hidden" name="next_url" value="">
<input value="" class="tool_login" style="width:160px;" type="text" name="mail" id="bar_mail">
<input value="" class="tool_login" style="width:80px;" type="password" name="password" id="bar_password">
<input name="submit" type="image" src="
http://res.nicovideo.jp/img/base/tool/submit_login.gif" alt="ログイン">
あと、使用しているIndyはDelphi2007付属の10.0.0.17なんですが、
OpenSSLライブラリは
http://indy.fulgan.com/SSL/ ↑のページの0.9.8eにしてみましたが用意するものはこれであってるでしょうか?
914 :
デフォルトの名無しさん:2009/04/17(金) 09:42:09
どれって・・・基本的にみんなだろ、ボタンはいらんけど
といかぁ、HTTPの基本的な知識が無いようだから
HTTPの基本的な解説しているドキュメントを1回読んだ方がいいぜ。
うーん全部というとこれじゃだめなんですか?
いちおう今のコードを晒しとくとこんな感じなんですが
これだとError connecting with SSLとなります・・・
フォームに
Memo1, Bottun1, IDHTTP1, IdSSLIOHandlerSocketOpenSSL1, IdCookieManager1
を貼り付けて、
procedure TForm1.Button1Click(Sender: TObject);
var
Res: TStringStream;
Value : TIdMultiPartFormDataStream;
const
URL_LOGIN = '
https://secure.nicovideo.jp/secure/login?site=niconico';
MYMAIL = //メールアドレス
MYPASSWORD = //パスワード
begin
Value := TIdMultiPartFormDataStream.Create;
Res := TStringStream.Create('');
IdHTTP1.CookieManager := IdCookieManager1;
IdHTTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
IdHTTP1.AllowCookies := True;
Value.AddFormField('next_url', '');
Value.AddFormField('mail', MYMAIL);
Value.AddFormField('password', MYPASSWORD);
IdHTTP1.Post(URL_LOGIN, Value, Res);
Memo1.Lines.Text:=UTF8Decode(Res.DataString);
Value.Free; Res.Free;
end;
>>915 単純にSSLでの接続にミスっているだけでは?
たしかIndyでSSLを使うときは外部DLLが必要だったはず。
パケットモニタくらい入れときましょう
917 :
デフォルトの名無しさん:2009/04/19(日) 22:40:35
接続先サーバがどんなメッセージを返してきているかをちゃんと確認すれ。
そうすれば解決するぞ。
ネットワークものでうまくいかないときはパケットキャプチャで正常ケースと異常ケースを比較。これ基本中の基本。
言えてる
920 :
デフォルトの名無しさん:2009/04/21(火) 18:45:24
某巨大掲示板へのPOSTが上手くいかずに5時間ほど悩んでいたんですが、
このスレの
>>361によると、
1)改行が変なコードに変換され、改行より後ろの文字列が無視される
というバグだという事がわかりお先真っ暗になりました。
自前でURLエスケープすれば解決すると思うのですが、
Indyが勝手にエンコードしないように設定する事は出来るのでしょうか?
Indyを使わない
922 :
デフォルトの名無しさん:2009/04/21(火) 20:30:07
TIdMultiPartFormDataStream つかわないで
自分でURLうんこすればイイじゃん。
ってか、おいらはそうしている。
>>922 TIdMultiPartFormDataStreamは使っていないんですがその方法どうやるんですか?
自分はTStringListを使って
PostData.Text:='bbs=~&key=~& ・・・・・・ &MESSAGE=~';
としているんですがこれだとエンコードされてしまいます。
HttpEncordをつけて自分で変換したらエンコードした文字がそのまま書き込まれてしまいましたし・・・
924 :
デフォルトの名無しさん:2009/04/21(火) 21:15:55
functionPost(AURL:string; const ASource:TStream):string; overload;
この形式のPostは
えんこされないよ。
>>924 やってみます
どうもありがとうございます
ああ、ここにもIndyを使ってのニコ動ログインができなくなった同志が…
自分もIndyでニコ動にログインしてコメント取得させるツール作ってたんだけど
はじめの数ヶ月はうまく動いてたのに、今年の1~2月ぐらい? のある日から
唐突にログインできなくなった。症状は
>>913と同じで、
https://secure.nicovideo.jp/ のどこに接続してもその例外を吐きやがる。
URLを別のサイトにするとつながる。
どうやらOpenSSL自体がエラーコードを返してるみたいなんだが、さっぱりわかんねえ。
どう見ても以前とはログイン方法は変わってないんだけどな。
UA変えてもダメだし、パケットモニタを見てもいまいちピンとこないから
もう半年ぐらいあきらめ状態だわ。
うわああああああああああああああ
何となく思いつきで、TIdSSLIOHandlerSocket の SSLOptions.Method プロパティを
sslvSSLv23以上にしたら動いたアアアァァァァァ
それだけかよぉぉぉ、半年も悩んでたのに…
あ
Indy初めて使ってみました。
簡単でびっくりしました。
でも、訳分からんことがあります。
メインフォームでButton1Clickイベントから
Memo1.Lines.Text:=euc2sjis(IdHTTP1.Get(url));
をすると、ブラウザで見たのと同じソースが表示されるのですが、
TThredを作ってTThred側から実行すると、違う内容が表示されます。
TThredで使うとしたら
IdHTTP1:=TIdHTTP.Create(nil);
ってやって
Form1.Memo1.Lines.Text:=euc2sjis(IdHTTP1.Get(url));
で、合ってますか?
>929
サブスレッドからUIを直接操作しちゃだめ。Synchronize経由で。
932 :
デフォルトの名無しさん:2009/10/24(土) 13:18:37
Delphi2010付属のTIdMessage.Body.Text に日本文を入れて送信したいのですが
うまくいきません。
携帯に送ると文字化け、WEBメールでも文字化けし、それをアウトルックで取り出すと正常など。
下記のようなやり方ではダメでしょうか?
type
ISO2022JP = type AnsiString(50220);
var
Msg : TIdMessage;
AnsiStr : ISO2022JP;
UniStr : UnicodeString;
//本文 unicode→ISO-2022-JP
AnsiStr := 'あいうえお';
UniStr := AnsiStr;
Msg.Body.Text := UniStr;
934 :
デフォルトの名無しさん:2009/10/24(土) 18:26:12
>>923 Indyよくわからないが
Charset := 'iso-2022-jp';
入れないとだめだと思うが
Indyのメールのキャラクターのプロパティを探して
935 :
デフォルトの名無しさん:2009/10/24(土) 18:46:54
>>923 https://forums.embarcadero.com/thread.jspa;jsessionid=F5CF939FFE16FA427099B8511D4B9A6B?messageID=118505 これってずばりじゃないかな
-- Code --
var
Subject, Body, Host, MailTo, MailFrom: String;
begin
Host := 'smtp.....';
MailTo := 'to@....';
MailFrom := 'from@...';
Subject := 'テストです';
Body := Subject;
IdSMTP1.QuickSend(Host, Subject, MailTo, MailFrom, Body, 'text/plain', 'ISO-2022-JP', '7bit');
end;
936 :
932:2009/10/24(土) 19:42:55
937 :
932:2009/10/24(土) 19:45:36
>>934 コレ入れると何故かすべて文字化けするんです…泣
938 :
932:2009/10/25(日) 06:28:46
>>935 QuickSendだと認証が通らないです。
また、送信時に各設定文字列(宛先アドレス)などが
文字化けしてエラーとなってしまいます。
QuickSendのパラメーターも変更されているようで、
Body以降は不要となっています。
困りました…
939 :
932:2009/10/25(日) 08:17:56
下記のように一旦旧Delphiの様にSJISに変換したらうまくいきました。
type
ISO2022JP = type AnsiString(50220); //iso-2022-jp
SHIFTJIS = type AnsiString(932); //SHIFT-JIS
var
Msg : TIdMessage;
AnsiStr2022JP : ISO2022JP;
AnsiStrSJIS : SHIFTJIS;
begin
Msg := TIdMessage.Create(SMTP);
Msg.Date := now - StrToTime('9:00:00');
Msg.ContentType := 'text/plain';
Msg.CharSet := 'ISO-2022-JP';
Msg.ContentTransferEncoding := '7bit';
Msg.From.Name := usr_name; //unicodeのままで文字化けしない
Msg.From.Address := jConvert.CreateHeaderString2(usr_mailaddress);
Msg.Recipients.EMailAddresses := MailAddress
Msg.Subject := SubjectStr; //unicodeのままで文字化けしない
//本文 unicode→SHIFT-JIS→ISO-2022-JP→unicode
AnsiStrSJIS := tblDM.FieldByName('MSG').AsString;
AnsiStr2022JP := AnsiStrSJIS;
Msg.Body.Text := AnsiStr2022JP;
940 :
デフォルトの名無しさん:2009/10/28(水) 19:11:20
TIdHttpServerでダイジェスト認証を行いたいのですが、
どなたかご教授願えませんでしょうか?
調べても方法が見つからず困っています。
code932 = SJIS だな
はじめから答えは判明していたな
Tiburon用 Indy10の SMTP 12月に入ってからのリビジョンは
日本語のSubjectが化けるね。
IdCoderHeader.pas あたりが大幅に書き換えられていて、
ヘッダーのエンコードがバグってる模様。 ソース追っかけてたけど面倒になって
やめた。
rev3878に戻すとSubjectも正常に送れるんで戻した。
943 :
942:2009/12/23(水) 11:04:19
化けると書いたけど、実際はエンコード自体がうまく機能せず空文字列になるんだった。
ISO-2022-JPだとSubjectが長いと途中から文字化けするな。
MIMEエンコードして複数行になった場合、二行目以降に
エスケープ文字が付加されていないためのようだ。
Subject全体をBase64変換して単純に76文字でぶった切ってる
せいか・・・
945 :
デフォルトの名無しさん:2009/12/23(水) 17:25:42
Indyの日本語処理は昔からバグだからけ。
TIdMessageは、はっきり言って使えない。
くだスレからきました。
ここを見て何となくIndyを使ったフォームの内容の受信は
何とかなるなと思ったんですが、その内容をメールで送りたいのですが、
sendmailとか無くてもIndyでやれますか?
やれる。
>>946 とりあえず、メールの仕組みを勉強した方がいいと思う。
ちゃんと知らないと、いつかどこかで、はまるよ。
949 :
946:2010/01/14(木) 09:06:39
>>947,948
レス、有り難うございます。
windowsの自宅サーバーでsendmane等を使いたくない場合に
どうしたら良いんだろうと思い質問させてもらいました。
昨日、メールを送るCGIについて自分なりに調べた結果、
もしIndyで出来るとすると自分が使っているプロバイダーのメール設定
と同じような設定をするものがあるってことですよね?
自分は
>>1の状態なので、また質問させてもらいます。
よろしくお願いします。
950 :
946:2010/01/15(金) 00:35:48
いまいちよくわからんのだが
そのsendmaneとやらを自作するというだけのことだよね?
レス、有り難うございます。
> そのsendmaneとやらを自作するというだけのことだよね?
確かに、そう言われればそういうことですね。
今日一日中、IdsmtpのQuickSendでメールを送るテストをしていたのですが、
メールサーバーがSMTP認証がない単純な設定の場合は
送れるのですが、CRAM_MD5のSMTP認証が必要な場合に
タイムアウトでサーバーに接続できないとエラーが出てしまいます。
IdSMTP.AuthenticationType:=atLogin;
IdSMTP.Password:='hogehoge';
IdSMTP.Username:='hogeyama';
IdSMTP.Port:=587;
こんな感じで設定しているのでが他にもあるのでしょうか。
954 :
946:2010/01/17(日) 00:26:07
Indy10でSMTP認証できるようになりました。
有り難うございました。
今回、9から10に入れ替えたのですが、プログラムを実行して
タイムアウトエラー等が起きると、そのエラーに関係すると思われる
リソースがないと言うダイアログが出て、Idhogehoge.pasはどこにある?
みたいに聞かれるんですが、これが出ないように設定って出来るのでしょうか?
pasファイルがあるところに、ライブラリパスを通しても駄目っだった気がして。
>>954 ブラウザ検索パスの設定にIndyのソースのパスを設定
indy10について質問です。
10にしたら「要求したパッケージIndyがありません」という
サンプルプログラム(自作以外のもの)をコンパイルできなくなりました。
自作でIndyのコンポーネントを置いたものはコンパイルできます。
これってどうしたら回避できますか?
Indy10にIdsysってある?
IdSys.pasはないね。
959 :
957:2010/01/25(月) 09:18:49
>>958 ㌧です。
なんか10にしてから調子よくないや
ちなみにIndy9にもIndy8にもIdSys.pasはない。
>ちなみにIndy9にもIndy8にもIdSys.pasはない
そうですか。じゃぁなんなんだろ。
>>956の現象も起きるし。
マジ>1状態。
アララットに移行しましょう
>961
状況をもっと正確に書け。
964 :
961:2010/01/27(水) 23:56:25
有り難う。お言葉に甘えて書かせてもらいます。
xamppで自宅鯖を立てました。
xamppに入ってるsendmailの最新版にdel7のソースが付いてる
というのをxamppスレで見て早速見てみた。
読み込みは何ともなかったんだけど、コードの定義を見ようとすると
Idsysが無いとか、Indyのパッケージがないとか色々出てモヤモヤしてます。
Idsysは作者がわざとソースから削除してる可能性もあると思いますが、
Indyのパッケージが無いと言われるのは、今後サンプルとかをいじる時に
困るだろうなぁと思って凹んでます。
長文失礼しまた。
>964
> 読み込みは何ともなかったんだけど、コードの定義を見ようとすると
> Idsysが無いとか、Indyのパッケージがないとか色々出てモヤモヤしてます。
いやだから正確に書けっての。エラーメッセージとか、ソースどっから落としたのかとか。
そう言うことですか。
何度もすみません。&有り難うございます。
確認して夜に書き込みさせてもらいますので
気が向いたら、よろしくお願いします。
あほすぎ
なにやら盛り上がってる?
indy9から10に変更して、9で作ったプログラムをコンパイルしたら
IdSSLOpenSSLHeaders.pas(11194): 'Array' と 'Char' には互換性がありません
て、出たんだけどどうしたらいい?
やってることは、IdHttpをcreateしてGetプロシージャーで
ホームページ上のデータを取ってきてるだけなんだけど。
970 :
969:2010/02/08(月) 10:14:28
コンパイルエラーの出る場所です。
function IdSslSessionGetIdCtx(s: PSSL_SESSION; id: PPChar; length: PIdC_INT) : TIdC_UINT;
{$IFDEF USEINLINE} inline; {$ENDIF}
begin
Assert(s<>nil);
id^ := @s.sid_ctx; <---ここが駄目って出る
Result := s.sid_ctx_length;
Length^ := Result;
end;
うちのソースだと、そこんところは
{function IdSslSessionGetIdCtx(s: PSSL_SESSION; id: PPAnsiChar; length: PIdC_INT) : TIdC_UINT;
{$IFDEF USEINLINE inline; {$ENDIF
begin
Assert(s<>nil);
id^ := @s.sid_ctx;
Result := s.sid_ctx_length;
Length^ := Result;
end; }
って丸ごとコメントアウトされてるよw
頭んところも
//function IdSslSessionGetIdCtx(s: PSSL_SESSION; id: PPAnsiChar; length: PIdC_INT) : TIdC_UINT;
なってる
有り難うございます。
さっき、Indyのサイト行ってバージョン確認したら
最新のをインスコしてるんですがどういうことだろう。
973 :
971:2010/02/08(月) 17:57:54
>>973 有り難うございます。
私はのはD7で、D8にして絶望したのでそのままです。
Indy10でメール送信プログラムを作っています。
とりあうえず送信はできるようになったんですが大きな添付ファイルの
送信中に、それを中止する方法がうまくいきません。
IdSMTP.Disconnect では止まってくれず、IdSMTP.IOHandler.Close で
強引にSocketを切ってやれば止まることは止まるけど例外が発生する orz
TIdFTPなんかだとAbortメソッドがあるみたいだけど、TIdSMTPにはないし…
IdSMTP.Sendは IdThreadCompornent使って別スレッドで動かしてます。
了解しました
次の方どうぞ
}{
`
-
]
\
@