Delphi バージョン: XE2、Indy バージョン: 10.5.8.0。3 つの手順があり、インターネット接続が失われるまですべて正常に動作します。それが起こり、その後メッセージを送信しようとすると、インターネットが戻ったときに再接続できません。プログラムを閉じることができません (プログラムを閉じた後は表示されませんが、100 の CPU 使用量を使用します)。"try, exception" がなければ、Socket Error #1053
on IdIRC1.Say と on Close があります。手伝ってくれてありがとう。
///Connection:
procedure TForm1.Button5Click(Sender : TObject);
begin
try
IdIRC1.Nickname := 'zzz';
IdIRC1.Password := 'kkk';
if IdIRC1.Connected then
IdIRC1.Disconnect;
IdIRC1.Connect;
IdIRC1.Join('#' + edit3.Text);
except
ShowMessage('ggg');
end;
end;
///Send message:
procedure TForm1.Button3Click(Sender : TObject);
begin
try
IdIRC1.Say('#' + edit3.Text, edit2.Text);
if (edit2.Text <> '') and (IdIRC1.Connected) then
begin
memo6.Lines.Add(edit2.Text);
Edit2.Clear;
end
else
ShowMessage('xxx');
except
ShowMessage('yyy');
end;
end;
///On close:
try
IdIRC1.Disconnect;
except
end;