Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   base64binary servicio web para imagenes (https://www.clubdelphi.com/foros/showthread.php?t=34668)

jvalles 17-08-2006 12:54:54

base64binary servicio web para imagenes
 
Hola!!!

a ver si me podeis ayudar, tengo un servicio web hecho en vb.net que me devuelve una imagen en base64binary.
La cosa es que con este codigo:
Código:

procedure TForm1.Button1Click(Sender: TObject);
var ByteArray : TByteDynArray;
begin
    ByteArray := (HTTPRIO1 as Serviciomlssoap).DameImagen(1);
    ByteArrayToFile( ByteArray, 'c:\imagentemp.jpg');
    cargafoto;
end;
 
procedure tform1.ByteArrayToFile( const ByteArray : TByteDynArray; const FileName : string );
var Count : integer;
    F : FIle of Byte;
    pTemp : Pointer;
begin
  AssignFile( F, FileName );
  Rewrite(F);
  try
    Count := Length( ByteArray );
    pTemp := @ByteArray[0];
    BlockWrite(F, pTemp^, Count );
  finally
    CloseFile( F );
  end;
end;

funciona perfectamente con delphi 2005, pero cuando lo intento con delphi 6 al ejecutar el servicio me aparace un mensaje de error con todo el contenido de la respuesta del servicio, que no cabe en la pantalla y no puedo ver el final. si intento capturar una excepcion tambien hace lo mismo. Alquien sabe que estoy haciendo mal en delphi 6??

gracias!!!

jvalles 17-08-2006 14:56:48

hola otra vez

esto es la ejecucion del servicio desde el explorador:

Código:

<?xml version="1.0" encoding="utf-8" ?>
 <base64Binary xmlns="http://tempuri.org/ServicioWebMLS/Service1">/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAASUkqAAgAAAABAABRBAABAAAAAAAAAAAAAAD/ 2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0 Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAwADADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEA AAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJx FDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNk ZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJ ytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz UvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3 eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna 4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwW1tZ765S2tozJK54UHHuSSeAAMkk8AAk 133hv4a3esl0t7eS8miBlZomAR4t4UFFk2DOdxG9lDBXAGUNSeBPDQka2a581DeDdMMlf3GQyqQQ OWKhs8ggoRjmvoKDV47W1jggVY4o1CqijAUDoBWTfM7dD2qWClSpRquN5y1V9kujt1b+48xsfAHi HTtJNtZaBrlpcuUZnj1K18lW/dbz5ayqW480D5hnZHn7xCF78PvEGrWEEF7omvGRYw0nm39pcRGY InKo0wKjc0ozuJAC9dxC+orrUruFXJJOAK6CGPbbq0zOZD12mn7OPYxq1sTRacpfKy/I+TfEfw8u 9DCefDJbGSIyW8jI3lz9CB8wDRnGchhkHAIXk1wrKyOyOpVlOCpGCDX2H4ok07WtPudLkUSpz+8J z5bjOCvuP8R6184eLdCZLaS8BAltdqOoVVDJuI3Z4JYMVH8RwewSpUnGXK9jWrhFiMM8TTjyuO66 Nd0unn956VpmmDTblrWBneO2Jt0aQ5Yqh2jJ45wBXX2dpNKFJzzXO6PdpqM32xY5I47k/aEWQYYK 43LkeuGH516Bp9srwHLFcjlh1ArOne56+LxHJBNdkT6HpQMwncZC/d/xqTXri4mzZWsnkoR+9lzh j/sr/U/l7TxahbaUmJJSS7KiRs43MzNtUc8DLEAdOSB1pqWL6lBHeXW+OOVA6WwVkIBGQH3ANn1U gY6EGuk+XlWlUq889TjLm1aGPEWAg4G3oK8/8VWoTStQkZEb/R5Th1DDO084PcdQexAPavYdUtkS IgAAAYAA6V5Z4y2DSdRVpEjH2aU7nbAzsOBn1JwAO5IHeuad7o+nw2I5qE79n+Ry3w58TQrBDpUq wxSwZ8ogkGYFmY5zxkZx1GRjjgmvctJvPtiLEkmxO7Dr+FfIKO8UiyRsyOpDKynBBHQg16f4S+J4 tU8rV5GilUjZOkZKMApzuA5ByOMAg7v4QMnZxs7o8ajiqdWiqFZ2a2f+Z9OWdlZwuk8VtEJlRkEu 0F8NgsNx552rn12j0FWpsbSTxXl+mfFjRDboZdTtFDKCN0yg9O4JyPpTtT+LWhJbO0WpWr4UnCzK T+QOSfpVXOf6nLmsmrept+I7+O3RhkZr58+I2vmWb+yomdWyr3GVK/LgMi5zyDkN0xwhB61c8YfE 17yZ4dIlEhO1vtZUhR3KqjDJ7DJ/2uDw1eazTS3E8k88jyyyMXeR2LMzE5JJPUk1Kjd3ZviMXCFH 2FJ3vu/0R//Z</base64Binary>
 


al ejecutarlo desde delphi 6 con el codigo anterior :

econverterror "lista de caracteres devueltos por el servicio" is not a valid integer value

simplemente ejecutando
Código:

(HTTPRIO1 as Serviciomlssoap).DameImagen(1);
ya falla, asi que el tema debe estar en la conversion del resultado a TByteDynArray.
Es delphi 6 professional con los updates 1 y 2 pasados.

¿alguna idea?

xEsk 22-08-2006 01:52:10

No tiene q ver con tu problema, pero por si te sirve de ayuda en otra ocasion, es posible "copiar" los mensajes (MessageBox) al porta-papeles... hehe, es tan sencillo como hacer "Control + C" en el mensaje activo, luego "Control + V" en el notepad mismo, y tachan! ahi esta el mensaje con su "Caption", "Body" y "Buttons"... Espero q esto te ayude en otra ocasion.

Saludos.

Aqui un ejemplo del resultado:

Código:

---------------------------
Confirm
---------------------------
Save changes to project Project1?
---------------------------
Yes  No  Cancel 
---------------------------


lucor 21-09-2007 03:54:31

Problema con IIS y delphi
 
Hola Amigos,

Sorry que no pueda resolver tu problema, pero tengo un problema similar, mi webservice funciona en mi pc pero cunado lo invoco desde un aplicacion en delphi sale internal error 500, alguien sabe o tiene un ejemplo de como configurar el IIS para delphi, ya que cualquier aplicacion en visual basic 6 y .net si funciona, tengo delph 6.0 y el IIS es 5.1 con .net 2.0. Ya verifique el tema de seguridad, ya busque en este sitio y en otros, hasta forums en chino, pero nada. Muchas gracias de antemano


La franja horaria es GMT +2. Ahora son las 12:07:08.

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