Ver Mensaje Individual
  #1  
Antiguo 29-08-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Reputación: 18
rolandoj Va por buen camino
Question Ayuda con incompatibilidad del Post de TIdHTTP de Indy 8 con Indy 10

Hola,

Tengo una aplicación con Delphi 4 e Indy 8. Estoy migrando a Delphi 2007 (Update 1), el cual trae Indy 10.

El problema es que no funciona la llamada al método Post de TIdHTTP. Post es un método sobrecargado; pero solo estoy usando la llamada que en Indy 8 tenía la siguiente definición:

procedure Post(URL: string; const Source: TStrings; const AResponseContent:
TStream);

La razón por la cual falla es que en la versión 10 está transformando el fin de línea (CR + NL) en un caracter &. De acuerdo al sistema de Ayuda, esa conversión es el comportamiento normal bajo Indy 10; pero no indica porque cambiaron el comportamiento que traían de Indy 8 (no sé si lo hicieron en Indy 9) ni como hacer para que el componente en Indy 10 emule el comportamiento de la versión 8; de hecho ni siquiera advierten de ese cambio.

He intentado varias combinaciones con los parámetros de opciones de TIdHTTP; pero ninguna ha funcionado.

Cambiar el servidor para que reconozca el & como equivalente a CR + NL no es una solución viable.

La única solución que tengo hasta el momento es desmontar Indy 10 de Delphi 2007 e instalar Indy 8; pero quiero hacerlo solo como último recurso.

Alguno podría indicarme una solución diferente ?. Más aún, alguién sabe si aparte de este problema hay otras diferencias entre las dos versiones que afecten el comportamiento de TIdHTTP y en tal caso como hacer para emular totalmente el comportamiento viejo ?.
Responder Con Cita