Página 1 de 1

Codigo de Mdo Libre en Delphi 2007 2009 2010 Guia Definitiva

Publicado: Jue Sep 30, 2010 7:25 pm
por Dado
ESTA ES LA GUIA DEFINITIVA YA COMPROBADA DE CAMBIOS NECESARIOS PARA COMPILAR Y EJECUTAR EL CODIGO FUENTE QUE SE OFRECE EN MERCADO LIBRE:

DELPHI 2007

No requiere de cambios, se ha probado como esta y funciona bien

DELPHI 2009

Por fin pude conseguir esta version y podria apostar que tiene un error el compilador, en fin, hay que hacer el siguiente cambio :

En la unidad FacturaE.pas, a partir de la linea 390 (en el procedimiento de calculo de cadena original)

DICE :
begin
CadOriginal := pipe;

XMLDocCopy.XML := XMLDoc.XML;
XMLDocCopy.Active := true;
CFDCopy := GetComprobante(XMLDocCopy);

with CFDCopy do
begin
....
DEBE DECIR :
begin
CadOriginal := pipe;

XMLDocCopy.LoadFromXML(XMLDoc.XML.Text);
CFDCopy := GetComprobante(XMLDocCopy);

with CFDCopy do
begin
....
DELPHI 2009 Y DELPHI 2010

En la unidad Sello.pas cambiar la definicion del procedimiento ReadPrivateKey
function ReadPrivateKey(AFileName: ansistring): pEVP_PKEY;
En esa misma unidad, procedimiento CalculaSello:
var inbuf: array [0..8192] of ansichar;
outbuf: array [0..1024] of ansichar;

Re: Codigo de Mdo Libre en Delphi 2007 2009 2010 Guia Defini

Publicado: Vie Oct 01, 2010 10:34 am
por jimmy_aei
te agardezco el tiempo dedicado y el apoyo.

ya con eso funciono, y son menos lineas de lo que tenia.

saludos

Re: Codigo de Mdo Libre en Delphi 2007 2009 2010 Guia Defini

Publicado: Vie Oct 29, 2010 8:53 pm
por lerg98
Para quienes han tenido problemas con lo de la interface no soportada en Delphi 6 ( EintCastError ).

Este seria el cambio que habria que hacer:

En la unidad cfdv2.pas en la funcion de agregar concepto deberia quedar de la siguiente forma:

Código: Seleccionar todo

function TXMLConceptos.Add: IXMLConcepto;
begin
  //Result := AddItem(-1) as IXMLConcepto;
  Result := AddChild('Concepto',-1) as IXMLConcepto;
end;
Esto deberia de ser para cada una de las funciones que usen el AddItem para agregar un nodo. Por ejemplo en traslados tambien deberia quedar
de la siguiente forma:

Código: Seleccionar todo

function TXMLTraslados.Add: IXMLTraslado;
begin
  //Result := AddItem(-1) as IXMLTraslado;
  Result := AddChild('Traslado', -1) as IXMLTraslado;
end;
Espero les ayude.

Saludos.

lerg98.

Re: Codigo de Mdo Libre en Delphi 2007 2009 2010 Guia Defini

Publicado: Vie Oct 29, 2010 10:29 pm
por Dado
@lerg98

Vaya, entonces ya funciono con Delphi 6, que bien. :o

Para asegurarnos podria alguien mas hacer estos cambios y confirmar que si funciona en Delphi 6 (yo no tengo esa version, si no con gusto lo intentaba).

Gracias por el consejo .........

Re: Codigo de Mdo Libre en Delphi 2007 2009 2010 Guia Defini

Publicado: Dom Oct 31, 2010 9:53 am
por lerg98
@dado

Saludos dado, si funciona, el cambio que comentaba lo hice en un D6, y probandolo con tus pantallas de ejemplo genero toda la informacion (xml, sello, cadena, etc) de forma correcta, para quien lo vaya a usar en D6 tendria que hacer las correcciones adicionales (en los Insert(s) y Add(s) adicionales de las funciones en el cfdv2.pas).

lerg98.

Re: Codigo de Mdo Libre en Delphi 2007 2009 2010 Guia Defini

Publicado: Dom Oct 31, 2010 1:25 pm
por Dado
lerg98 escribió:@dado

Saludos dado, si funciona, el cambio que comentaba lo hice en un D6, y probandolo con tus pantallas de ejemplo genero toda la informacion (xml, sello, cadena, etc) de forma correcta, para quien lo vaya a usar en D6 tendria que hacer las correcciones adicionales (en los Insert(s) y Add(s) adicionales de las funciones en el cfdv2.pas).

lerg98.
Disculpa si parecia que no te creyera, solo queria que alguien mas lo confirmara

Pero que bueno que ya encontraste la solucion. Entonces para comentar a posibles interesados que si se puede con Delphi 6........ :)

Re: Codigo de Mdo Libre en Delphi 2007 2009 2010 Guia Defini

Publicado: Mar Nov 02, 2010 10:41 am
por lerg98
Saludos @dado, no te preocupes, mi comentario iba tendiente a que se concentraran en terminar las modificaciones adicionales que comentaba, de que si funcionaba en el D6 porque ya habia realizado la validacion completa con el validador del SAT.

Aprovechando el raite, gracias por tu contribucion y al de los demas de este foro que han aportado luz sobre el asunto.

lerg98.

Re: Codigo de Mdo Libre en Delphi 2007 2009 2010 Guia Defini

Publicado: Vie Ene 28, 2011 2:28 pm
por ironman
Yo podria apostar que el objeto XMLDocCopy cambió, y la propiedad XML se convirtió en Private, de tal suerte que ya no es posible asignarla directamente, y se debe utilizar un método para hacelro.

Saludos