メールチェッカーの作成に挑戦しています。
機能はIdPOP3で新規メールの有無をチェックして有ったら
送信者だけを知りたいと考えています。(複数も)
環境はWindowsXP Pro Delphi 6 Personalです。
PersonalにはIndyが付いていないので10.0.52をDLしてインストールしました。
Indyを使用した他のサンプルソースを動かしてみたら動きました。
起動するときに次のようなエラーが出ます。
Exception EReadError in module Project1.exe at 0002097B.
IdPOP31.MaxLineAction の読み込み中のエラー : プロパティが存在しません.
すみません、この内容が理解できません。
どうなっているのか教えて頂けませんか。
よろしくお願いいたします。
procedure TForm1.Button1Click(Sender: TObject);
var
Msg : TIdMessage;
i, x : integer;
s : string;
begin
IdPOP31.Host := '***.****.yahoo.co.jp';
IdPOP31.Port := 110;
IdPOP31.UserName := '***********';
IdPOP31.Password:= 'xxxxxxxxxxxx';
IdPOP31.Connect;
for i := 1 to IdPOP31.CheckMessages do begin
Msg := TIdMessage.Create(Self);
IdPOP31.Retrieve(i, Msg);
Memo1.Lines.Add(Msg.Subject);
for x := 0 to Pred(Msg.MessageParts.Count) do begin
if Msg.MessageParts.Items[x] is TIdText then begin
s := TIdText(Msg.MessageParts.Items[x]).Body.Text;
Memo1.Lines.Add(jconvert.ConvertJCode(s, SJIS_OUT));
end;
end;
end;
IdPOP31.Disconnect;
end;
追記
すみません
コードのサンプルは
http://www.wwlnk.com/boheme/delphi/tips/tec1610.htm
のままです。
>起動するときに次のようなエラーが出ます。
>Exception EReadError in module Project1.exe at 0002097B.
>IdPOP31.MaxLineAction の読み込み中のエラー : プロパティが存在しません.
>
>すみません、この内容が理解できません。
はずしているかもしれませんが・・・・
Indy9で作成していたプロジェクトを、Indy10がインストールしているDelphiで
開くとき、Indy10でそのプロパティがなくなった場合など、
そのような警告がでるときは、「無視」ボタンを選択すればよさそうですが。
そのメッセージは、作成したプログラムを起動したときに表示しますか?
それとも、プロジェクトを開いたときに表示しますか?
igy さん早速ご返事ありがとうございます。
遅くなってすみません。
Delphi6Personalのプログラムを作成する画面から
実行を押したときです。
作成されているexeをダブルクリックすると例の「問題が発生しました。
送信する、しない」のダイアログが出てその後、同じエラー表示をします。
そのご、ずっと探しましたが
http://www.geocities.co.jp/SiliconValley-Cupertino/7131/Delphi_tips.html
のエラーはないはずなのに 例外 Connection Closed Gracefully が出る
がきになりやってみましたが変化がありませんでした。
よろしくお願いします。m(_ _)m
igy さんすみません。
igyさんの次のアドバイスが気になり
「Indy9で作成していたプロジェクトを、Indy10がインストールしているDelphiで
開くとき、Indy10でそのプロパティがなくなった場合など、
そのような警告がでるときは、「無視」ボタンを選択すればよさそうですが。」
Indyのバージョンを調べましたらIndy9でした。すみません。
そして、Indy10のライブラリバスを外したら
解決しました。
ありがとうございました。
作成したプログラムを起動したときにメッセージが表示するのでしたら、
>Indy9で作成していたプロジェクトを、Indy10がインストールしているDelphiで
>開くとき、Indy10でそのプロパティがなくなった場合など、
>そのような警告がでるときは、「無視」ボタンを選択すればよさそうですが。
は、関係なさそうですね。
作成したプログラムのFormCreateなどで、何か記述していますか?
また、
新規作成のプロジェクトのフォームにTIdPOP3を置いただけのプログラム
では、エラー表示せずに起動しますか?
あ、解決されたのですね。
失礼しました。
igy さん有り難うございます。
Personalにindyが付属していないため、DLして
インストするのにめちゃめちゃ苦労しました。
そこで10か9がごちゃごちゃになったみたいです。
>作成したプログラムのFormCreateなどで、何か記述していますか?
いいえ、ありません。
>新規作成のプロジェクトのフォームにTIdPOP3を置いただけのプログラム
では、エラー表示せずに起動しますか?
今となっては再現できませんでした。
indy9をインストしているのにindy10のソースもDLしていてパスを通していましたからその辺で整合性がとれなかったのでしょうか。
indyの世界は初めてで、皆目わかりませんが
いま、送信者のアドレスはどうやって取得するのか勉強中です。
件数とか本文の取得方法は見つけたのですが・・・
これからもよろしくお願いいたします。m(_ _)m
ツイート | ![]() |