AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem mit ProgressBar beim versenden von Emails - IdSMTP
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit ProgressBar beim versenden von Emails - IdSMTP

Ein Thema von hitmiccs · begonnen am 12. Feb 2007 · letzter Beitrag vom 14. Feb 2007
Antwort Antwort
Benutzerbild von hitmiccs
hitmiccs

Registriert seit: 15. Mär 2005
Ort: Bous
15 Beiträge
 
#1

Problem mit ProgressBar beim versenden von Emails - IdSMTP

  Alt 12. Feb 2007, 09:50
Hallo!

Ich hab ein Problem mit dem versenden von Emails. Da die Anhänge schonmal etwas größer werden, würd ich gerne den Fortschritt beim senden mit einer ProgressBar anzeigen. Ich benutze zum senden die Indy Komponente IdSMTP, jedoch reagiert die ProgressBar beim senden der Email überhaupt nicht.

Mein Code (den ich mir auch schon zusammengesucht hab) sieht so aus:


Delphi-Quellcode:
function Dateigroesse (Datei : String) : Integer;
var SRec: TSearchRec;
begin
 Result := -1;
 if FindFirst(Datei, faAnyFile, SRec) = 0 then
 try Result := SRec.Size finally FindClose(SRec) end;
end;

procedure Tmaengel.IdSMTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
var FS:TFileStream;
begin
 FS := TFileStream.Create(dmx2send,fmOpenReadWrite) ;
 choose_adress.ProgressBar1.Max := FS.Size ;
 FS.free ;
end;

procedure Tmaengel.IdSMTP1Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
begin
 choose_adress.ProgressBar1.Position := AWorkCount;
end;
"AWorkCount" ist irgendwie immer Null - mehr konnt ich noch nicht herausfinden.

Wenn jemand eine zündende Idee hätte, wäre super
Grüße, hitmiccs
If anything can go wrong, it will !

Murphy's Law
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Problem mit ProgressBar beim versenden von Emails - IdSM

  Alt 12. Feb 2007, 11:29
Hallo,

ich würd das ganze auf Prozentbasis machen.

Delphi-Quellcode:
procedure Tmaengel.IdSMTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
var FS:TFileStream;
begin
 choose_adress.ProgressBar1.Max := 100;
end;

procedure Tmaengel.IdSMTP1Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
begin
  choose_adress.ProgressBar1.Position := round( (AWorkCount/Dateigroesse(FileName))*100); // <-- setze hier mal einen Haltepunkt
end;
Schau Dir in dem Haltepunkt einmal den Wert von AWorkCount an.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Problem mit ProgressBar beim versenden von Emails - IdSM

  Alt 12. Feb 2007, 11:50
Wenn mich nicht alles täuscht, war das ein Bug in den Indy Komponenten. AWorkCount sollte immer 0 sein. Um das Problem zu umgehen, reicht ein IndyMessage.SaveToFile vor dem eigentlichen Senden. Dadurch wird die Mail aufbereitet, und AWorkCount enthält den richtigen Wert.
  Mit Zitat antworten Zitat
Benutzerbild von hitmiccs
hitmiccs

Registriert seit: 15. Mär 2005
Ort: Bous
15 Beiträge
 
#4

Re: Problem mit ProgressBar beim versenden von Emails - IdSM

  Alt 12. Feb 2007, 12:42
Super, probier ich sofort aus.
Danke schonmal!
If anything can go wrong, it will !

Murphy's Law
  Mit Zitat antworten Zitat
Benutzerbild von hitmiccs
hitmiccs

Registriert seit: 15. Mär 2005
Ort: Bous
15 Beiträge
 
#5

Re: Problem mit ProgressBar beim versenden von Emails - IdSM

  Alt 12. Feb 2007, 14:10
Hmmm, mir ist grade aufgefallen, das IdSMTP1Work garnicht ausgeführt wird - IdSMTP1WorkBegin auch nicht.
Ist mir aufgefallen, da an dem gesetzten Haltepunkt rein garnichts passiert..

Woran kann das liegen?
Normalerweise sollte es ausgeführt werden, wenn die Email gesendet wird..die Mail wird aber gesendet, ohne Probleme.
If anything can go wrong, it will !

Murphy's Law
  Mit Zitat antworten Zitat
Benutzerbild von hitmiccs
hitmiccs

Registriert seit: 15. Mär 2005
Ort: Bous
15 Beiträge
 
#6

Re: Problem mit ProgressBar beim versenden von Emails - IdSM

  Alt 13. Feb 2007, 16:47
So, ich hab jetzt alle auffindbaren Tips und Kniffe ausprobiert und komm auf kein Ergebnis.
Die beiden Prozeduren werden einfach nicht ausgeführt - Haltepunkt klappt nicht, und das Programm friert beim senden ein, bis die Datei versendet ist.

Die AntiFreeze-Komponente von Indy funktioniert ebenfalls nicht.

Weiß nicht mehr weiter
If anything can go wrong, it will !

Murphy's Law
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Problem mit ProgressBar beim versenden von Emails - IdSM

  Alt 13. Feb 2007, 17:48
Was für eine Indy Version nutzt denn Du?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von hitmiccs
hitmiccs

Registriert seit: 15. Mär 2005
Ort: Bous
15 Beiträge
 
#8

Re: Problem mit ProgressBar beim versenden von Emails - IdSM

  Alt 14. Feb 2007, 01:34
Hallo.

Ich hab es mit Indy 10 (Version 10.0.76 und 10.1.5) und Indy 9 (Version 9.0.18 + 19) probiert.
Die Versionsänderung brachte keinen Erfolg.
If anything can go wrong, it will !

Murphy's Law
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz