FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Array en class(TRemotable)
Amigos del foro tengo este sig. problema: no puedo asignar valor a un Array en esta clase TRemotable, es tratando de acceder al WS de la Afip de Argentina para consumir el servicio de factura electronica, Estoy usando D7, parece una estupidez pero en verdad me tiene mal no poder resolverlo.
El esquema que tengo que enviar es el clasico de una facutura, cabecera y detalle precedido esto por por el nodo de autorizacion, el de autorizacion, la cabecera lo asigno pero ... cuando llego a el detalle me da error, supongo que la sintaxis es diferente en esta clase. Esto es parte de la unidad que me generó delphi al acceder al wsdl del WS, esto seria lo que yo deberia poder hacer. El Error que me da es "Out of Memory" usando GetMem o Setlength y una excepcion en una direcc. de memoria si no se le asigna lugar a par. Agradeceria cualquier ayuda de parte de la comunidad. |
#2
|
||||
|
||||
Hhmmmm... A ver.
Primero, a los arreglos dinámicos (los declarados como array of...) no se los puede usar con GetMem. Hay que inicializarlos con SetLength. "par" en tu código es un ArrayOfItem, que es un "array of item". Así que la inicialización debe hacerse con SetLength. Segundo, cuando hacés la asignación "par4.Items:= par"... "par4" no está inicializado, así que no va andar. Ya que estamos, si lo que querés hacer, según entiendo viendo tu código, es clonar todos los elementos de "par" en "par4", lo mejor que podés hacer es un método en tu clase ClsBFERequest y dejar que él se encargue de la copia.
¿Se entiende? |
#3
|
|||
|
|||
Si
Gracias por contestar y tomarte el trabajo de tratar de entender esto, muy buena la explicacion, Lo de clonar me quedo claro, pero lo que necesito y no puedo hacer es
1) dar dimension a Items (que es un Arrayofitem) el error es "incompatible Types. 2) Dar valor a cada elemento de item
Intente esto otro, asignar valor a cada elemento de Item y luego asignar este al Arrayofitem Pero el xml me queda asi de malo Código:
<?xml version="1.0"?> [......] <Items xmlns="" xsi:type="NS3:Array" NS3:arrayType="NS1:Item[9]"> <item href="#5"/> <item xsi:nil="true"/> <item xsi:nil="true"/> <item xsi:nil="true"/> <item xsi:nil="true"/> <item xsi:nil="true"/> <item xsi:nil="true"/> <item xsi:nil="true"/> <item xsi:nil="true"/> </Items> </NS1:ClsBFERequest> <NS1:Item id="5" xsi:type="NS1:Item"> <Pro_codigo_ncm xmlns="" xsi:type="NS2:string">87.16.40.00</Pro_codigo_ncm> <Pro_codigo_sec xmlns="" xsi:type="NS2:string">47</Pro_codigo_sec> <Pro_ds xmlns="" xsi:type="NS2:string">descripcion articulo</Pro_ds> <Pro_qty xmlns="" xsi:type="NS2:double">1</Pro_qty> <Pro_umed xmlns="" xsi:type="NS2:int">7</Pro_umed> <Pro_precio_uni xmlns="" xsi:type="NS2:double">98751.13</Pro_precio_uni> <Imp_bonif xmlns="" xsi:type="NS2:double">0</Imp_bonif> <Imp_total xmlns="" xsi:type="NS2:double">109120</Imp_total> <Iva_id xmlns="" xsi:type="NS2:short">10</Iva_id> </NS1:Item> </BFEAuthorize> Gracias de nuevo! |
#4
|
||||
|
||||
Hmmm... Habría que ver cómo generás el XML, porque haciendo un SetLength(BFERequest.Fitems, 9) te da un arreglo de 0..8... Cómo uno le meta valores debería ser irrelevante, siempre y cuando sea en el rango 0..8.
|
#5
|
|||
|
|||
Solucionado!
Esto es solo para cerrar y por si a algun despistado como yo le pasa algo parecido.
Aclaro que estas clases fueron generadas por wsdl importer de la paleta webservices, y solo se puede acceder a las propiedades publicadas. El tema esta en el orden de la creacion de las clases. para crearlas. Ahora la asignacion de valores que me traia problemas y listo ... gracias Lord siempre tan atento vos ... un abrazo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Class TfrxCheckBoxView | Aprendiendo | Impresión | 1 | 03-11-2010 22:08:22 |
problemas con array o array | noodle_ | OOP | 7 | 19-06-2008 22:30:57 |
Class | jakuna | OOP | 4 | 26-08-2007 01:42:20 |
'Class not registered' | Enan0 | Varios | 7 | 27-06-2005 17:20:27 |
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo | morfeo21 | Varios | 5 | 17-08-2004 17:39:51 |
|