Zitat von
edi-design:
danke dir vielmals für diene hilfe
funzt einwandfrei
da ich ja sowieso nur auf die anhänge der mails ausbin, interessierne mich die par kb text net, die machen da keinen großen aussschlag, also reichts mit filesize
jetzt hab ich nur ein problem ;(
und zwar seit dem ich progrssbar drin hab, fiert das programm ein ;(
also progressbar läuft zwar weiter und er sendet auch, aber ich könnte beispielsweise keine button mehr drücken während er sendet ;(
das antifreeze von
indy hab ich schon dabei ;( funzt aber auch ent
hat jemand ne idee ?
cu andré
heyho,
hab in etwa selbiges Problem. Ich bin aber auch noch lange nicht so weit, wie der Kollege.
Ich hab heut erstmal ne bissel mit der
POP3 Komponente von
Indy rumprobiert. Mein Program friert momentan ein, wenn ich auf ein
Pop3 Konto connectete, wo schon ein Benutzer eingeloggt ist. Ist auch logisch, nach Spezifikation des
Pop3 Protokolls: Da auf ein Konto ja nur eine Verbindung zur Zeit statt finden darf. Ich habe das ganze dann über ne
Exception abgefangen.
Und hier friert das Programm sich ein. Und zwa ab dem klicken auf Verbinden bis zur Ausgabe der
Exception.
Ich würde das einfrieren nun gerne verhindern. Habe in den OnWork meines IdPOP3 über den Objektinspektor auch des Application.ProcessMessages gesetzt, doch funzt es nicht.
Ich benutze keine IdAntifreeze Komponente, da ich gelesen habe das diese auch nur in bestimmten Zeitabständen ein Application.ProcessMessages ausführt.
Ich weiss aber ehrlich gesagt auch garnicht wie ich diese verwenden sollte. Würde mich anbei auch mal interessieren
Um auf das Problem zurück zu kommem: Was mach ich falsch?
Hier mal der gesamte Quellcode. Ist momentan nur zum testen gedacht:
Delphi-Quellcode:
unit u_main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdMessageClient, IdPOP3, IdException;
type
TPopDown =
class(TForm)
POP: TIdPOP3;
btn_connect: TButton;
procedure btn_connectClick(Sender: TObject);
procedure POPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
PopDown: TPopDown;
implementation
{$R *.dfm}
procedure TPopDown.btn_connectClick(Sender: TObject);
begin
POP.Host := '
127.0.0.1';
POP.Port := 110;
POP.Username := '
root';
POP.Password := '
';
try
POP.Connect(400);
except
on E:EIdProtocolReplyError
do
showmessage(E.
Message);
else
showmessage('
Irgendwas');
end;
if POP.connected
then
begin
showmessage('
Connected successfully');
POP.Disconnect;
showmessage('
Connection closed');
end;
end;
procedure TPopDown.POPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
Application.ProcessMessages;
end;
end.
bin für jede hilfe dankbar
hippe-di-hop
janos