Einzelnen Beitrag anzeigen

St. Janos

Registriert seit: 25. Dez 2004
Ort: North Germany
12 Beiträge
 
#11

Re: mail status ... progessbar

  Alt 25. Dez 2004, 18:55
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
  Mit Zitat antworten Zitat