Ver Mensaje Individual
  #5  
Antiguo 20-11-2011
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Reputación: 19
casacham Va por buen camino
Cool Aqui esta tu solucion

El delphi 2009 tiene un error en el archivo
IdMessageClient.pas que no te permite mandar
archivos adjuntos por correo. Por suerte
un tio de Quality Central lo corrigio de la
siguiente manera
Buscas el dichoso archivo en la instalacion de
D2009 y haces lo siguiente. Sino aqui ya lo tenes
corregido por mi y deberas reemplazar los siguientes
archivos.
Buscas en C:\Program Files (x86)\CodeGear\RAD Studio\6.0
todas las coincidencias de IdMessageClient y reemplazas
los archivos originales porlos corregidos:
IdMessageClient.dcu
IdMessageClient.pas
Para obtener el archivo DCU, tenes que utilizar el PAS
en algun proyecto, entonces cuando lo compilas aparece
el archivo DCU.

Los instaladores del INDY se encuentran en indy.fulgan.com
es un ftp, asi que debes ponerlo tal cual
http://qc.embarcadero.com/wc/qcmain.aspx?d=66867
There are some missing/wrong line breaks within Indy\Protocol\IdMessageClient.pas. The problem has already been fixed in the Indy SVN.
Possible solutions are
1) Fix the IdMessageClient.pas on your own (see below)
2) Use the newest Indy source from the Indy SVN
To fix the bug on your own do the following:
- Open in the VCL source folder the file Indy\Protocol\IdMessageClient.pas
- Search for the procedure "procedure TIdMessageClient.SendBody(AMsg: TIdMessage);"
- Inside the procedure locate and change the lines with the informations given below
- Recompile the .pas and place the dcu (debug and release) in the appropriate directories
1) Insert below line 1214:
IOHandler.WriteLn(';');
2) Change in line 1219 (new line 1220):
IOHandler.WriteLn('Content-Disposition: ' + LAttachment.ContentDisposition); {do not localize}
to
IOHandler.Write('Content-Disposition: ' + LAttachment.ContentDisposition); {do not localize}
3) Insert below line 1220 (new line 1221):
IOHandler.WriteLn(';');
The fixed source part of IdMessageClient.pas looks afterwards like:
...
if LFileName <> '' then begin
IOHandler.WriteLn(';'); // inserted for QC 66867
IOHandler.Write(' name="' + LFileName + '"'); {do not localize}
end;
IOHandler.WriteLn;
IOHandler.WriteLn('Content-Transfer-Encoding: ' + LAttachment.ContentTransfer); {do not localize}
// next line fixed for QC 66867, changed IOHandler.WriteLn to IOHandler.Write
IOHandler.Write('Content-Disposition: ' + LAttachment.ContentDisposition); {do not localize}
if LFileName <> '' then begin
IOHandler.WriteLn(';'); // inserted QC 66867
IOHandler.Write(' filename="' + LFileName + '"'); {do not localize}
end;
__________________
La vida no trata de encontrarse a uno mismo, sino de crearse a uno mismo.
Tanto si piensas que puedes como si no, estarás en lo cierto
Responder Con Cita