Ver Mensaje Individual
  #1  
Antiguo 15-07-2010
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Reputación: 18
vejerf Va por buen camino
Exclamation Definicion de arrays complejos

Buenas a tod@s,

Tengo el siguiente problemón.

Resulta que tengo q hacer uso de un servicio web que define un tipo complejo llamado Complejo y un array del tipo Complejo llamado ComplejoArray, es decir, define:
Código Delphi [-]
Complejo = class;
ComplejoArray = array of Complejo;

Al hacer uso del servicio web a través de su función Guardar_Complejo me arroja una excepción de 'Cuerpo de XML mal formado o con datos no esperados'. Estudiando la otra parte su código del servicio web para ver el por qué se arroja esta excepción ha visto que parseando un fichero bien formado y el mío existe la siguiente diferencia:

Código Delphi [-]
//Su fichero xml
(
     [item] =>  
 Array
             (
                        //Cuerpo de su array
             )
 
 )
//mi fichero xml
(
     [0] =>  Array
         (
                    //Cuerpo de mi array
        )
 
 )

Como se puede ver su fichero xml contiene la etiqueta item del que carece el mío. Me comenta que puede ser debido a q el tipo de array especificado para mi envío no sea del tipo correcto, es decir, del tipo ComplejoArray

La definición de la función que se usa es:
Código Delphi [-]
function Guardar_Complejo(const complejos: ComplejosArray): String; stdcall;

Yo por mi parte en mi código hago lo siguiente:
Código Delphi [-]
procedure UsarServicioWeb;
var
  VarComplejo : Complejo;
  ArrayVarComplejo : ComplejoArray;
begin
  VarComplejo := Complejo.Create;
  SetLength(ArrayVarComplejo,1);
  ArrayVarComplejo[0] := VarComplejo;
  Guardar_Complejos(ArrayVarComplejo);
end;

Es evidente que falta código y sólo pongo lo que creo relevante. No sé si es que defino mal el array ComplejoArray ya que la función recibe un parámetro const.

La verdad es que estoy muy despistado y no se que puede ser ya que es la primera vez que uso algo así.

Si alguien pudiese ayudarme estaría muy agradecido.

Gracias y un saludo a todos!!!
__________________
"Patientia et constantia taelecum"
Responder Con Cita