Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Envio de email con ProgressBar

Estuve buscando y buscando por el foro, y no he encontrado nada que se refiera al envio de emails con progressbar con archivos adjuntos.
He notado que el IdSMTP, tiene estos eventos:

Código Delphi [-]
 
procedure TGaleria.IdSMTP1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
 
procedure TGaleria.IdSMTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Integer);
 
procedure TGaleria.IdSMTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);

Podrían servirme para incrementar un progressbar a medida que se envia el archivo adjunto?. En mi caso, siempre se envia un solo archivo adjunto (ZIP).

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #2  
Antiguo 28-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Encontré esto en:
http://www.icodeteam.net/index2.php?...do_pdf=1&id=25

Cita:

Message Sent notification



You will notice
that nothing happens after you’ve sent a message. It is possible to greatly
improve this by adding a progress bar that indicates that the message has been
sent. Use IdSMTP’s onwork, workbegin and onworkEnd event handlers, together
with the progressbar. When the work is finished you could bring up a dialog
saying “Message Sent” or something to that effect. This will assure the user
Cita:

that something is happening.


El problema es que, haga lo que haga, siempre tira un Access violation.
Por ejemplo, haciendo un:

Código Delphi [-]
 
ProgressBar1.StepIt;

Ya me quedo sin ideas.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #3  
Antiguo 28-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Lo que se me ocurrió hacer, es lo siguiente:

Código Delphi [-]
 
procedure TGaleria.IdSMTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Integer);
begin
if AWorkMode = wmWrite then
 begin
   ProgressBar1.Max := AWorkCountMax ;
   ProgressBar1.Position := 0 ;
 end; 
end;
 
procedure TGaleria.IdSMTP1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
begin
 if AWorkMode = wmWrite then
  begin
    ProgressBar1.Position := AWorkCount;
    Label1.Caption := IntToStr(AWorkCount) + 'Bytes de :' + inttostr(ProgressBar1.Max) ;
  end;       
end;
 
procedure TGaleria.IdSMTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
begin
  if AWorkMode = wmWrite then
  begin
    ProgressBar1.Position := 0;
  end;           
end;

Pero bueno, sigo depurando porque no se donde esta el error.
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 28-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Ahora si que ya me chingó, elimino todos los procedimientos (OnWork, etc etc) y dejando solo esto:

Código Delphi [-]
procedure TGaleria.IdSMTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Integer);
begin
   //es un comentario
end;

me tira error Access violation, aun siendo un comentario, que está pasando?
si dejo los procedimientos vacios, sin codigo alguno, me anda perfecto, pero claro, no puedo controlar la prograssbar.

Porque?
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Envio de Email al cambiar la IP Caral Varios 6 11-03-2008 02:28:53
Envio de email luisneria Internet 2 27-04-2007 12:17:30
Ejemplo de envio de email. condor Varios 4 03-06-2004 10:39:06
envio de email. condor Varios 2 27-05-2004 15:28:22
Envio y recepcion de email con delphi 7 sgarrido Internet 3 26-12-2003 23:14:33


La franja horaria es GMT +2. Ahora son las 12:47:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi