Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03

version para delphi xe7 xe8

Este es el foro para resolver dudas y hacer comentarios de las librerias DLL de generacion y timbrado que se ofrece aqui en el foro
s3cr3to
Mensajes: 501
Registrado: Mar Dic 28, 2010 1:12 pm

version para delphi xe7 xe8

Mensajepor s3cr3to » Mié May 27, 2015 10:16 am

Usando Delphi XE8 una versión de evaluación (quiero que me lo compren) intente probar CFDLib.dll.
Los errores que encontré parecen relacionados con unicode.
Siguiendo el consejo en este link http://stackoverflow.com/questions/11314454/calling-delphi-2006-dll-with-a-pchar-parameter-from-delphixe
Sugieren cambiar PChar por PAnsiChar, y asi lo hice con la unidad "DataTypeCast", dejando algo como esto:

Código: Seleccionar todo

unit DataTypeCast;
interface

uses Activex, DB, SysUtils;

type
   PCaracter = PAnsiChar;
   Caracter = AnsiChar;
   TMarcador = TBytes;

  //PAnsiChar
   function ToChar(Str: String): PAnsiChar; overload;
   function ToChar(Str: Pointer): PAnsiChar; overload;
   //function ToChar(Str: String): PWideChar; overload;
   //function ToChar(Str: Pointer): PWideChar; overload;

implementation

//PAnsiChar
function ToChar(Str: String): PAnsiChar; overload;
begin
   Result := PAnsiChar(AnsiString(Str));
end;

function ToChar(Str: Pointer): PAnsiChar; overload;
begin
   Result := PAnsiChar(Str);
end;

initialization
   Coinitialize(nil);
finalization
   CoUninitialize;
end.

Con esto al menos ya las cadenas de texto no se ven en "chino", es decir son legibles (nombre de archivo y clave).

Si hago click en el botón de versión obtengo:
Version de la libreria : CFDLib V2.1.150217-Ecodex V9/CD V2-DEMO


Y si hago clic en el botón "1. CREAR CFDI A PARTIR DE UN *.ini", siguiendo la depuración veo que la llamada a la función

Código: Seleccionar todo

      if GeneraCFD(ToChar(OpenDialog.FileName),ToChar(clave)) = OK then...

recibe correctamente los dos parametros, pero siempre regresa con un "Error General"

Así deje en la unidad "CFDLibHeader" la función:

Código: Seleccionar todo

function GeneraCFD(IniFileName, ClaveLlavePrivada : PAnsiChar) : TError; stdcall; external 'CFDLib.dll';


Y las funciones "GetError" y "GetErrorExt" siempre regresan vacías.

Quiero suponer que bajando una versión XE de evaluación te permitiría migrar estás librerías.
¿Haz logrado hacer funcionar tu librerias en versiones mas recientes de Delphi? -- algún tip para continuar las pruebas en XE8
¿Tienes planes de actualizar a nuevas versiones de Delphi tu librería?

Dice embarcadero que comprando la nueva versión se tiene acceso a versiones antiguas de Delphi, pero quisiera ir hacia adelante con esta versión XE.

Saludos

Avatar de Usuario
Dado
Mensajes: 15836
Registrado: Mar Jul 06, 2010 7:56 pm

Re: version para delphi xe7 xe8

Mensajepor Dado » Mié May 27, 2015 11:34 am

No he hecho pruebas en XE7 ni XE8

La ultima version que compre fue XE2 y ahi he depurado el unicode, supongo que algo le movieron en XE7/8
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

s3cr3to
Mensajes: 501
Registrado: Mar Dic 28, 2010 1:12 pm

Re: version para delphi xe7 xe8

Mensajepor s3cr3to » Mié May 27, 2015 1:01 pm

Ojalá tuvieras oportunidad de probar a migrarlo en xe7, xe8
Aunque, me está desanimando, algunas herramientas que he usado (con todo y código) me están dando problemas en XE8.
Voy a probar tu QRCode.dll a ver como me va (la última tachuela en el cofre de xe8)

Despues de probar..:
Aunque conseguí hacerlo funcionar la imagen no es escaneable en pantalla... dificil saber si genero algo correcto.
qrcode-xe8.png
quizá funciono.. como trae constante la leyenda.
qrcode-xe8.png (13.55 KiB) Visto 5289 veces

QRCode.dll funciono, simplemente cambiando todos los PChar como PAnsiChar en la unidad "QRCodeHeaders"
Adjuntos
QRCodeHeaders_pas.txt
(2.87 KiB) Descargado 176 veces

s3cr3to
Mensajes: 501
Registrado: Mar Dic 28, 2010 1:12 pm

Re: version para delphi xe7 xe8

Mensajepor s3cr3to » Mié May 27, 2015 1:08 pm

Subí uno de los archivos demo generados en http://zxing.org/w/decode
y me salio este mensaje:
No Barcode Found
No barcode was found in this image. Either it did not contain a barcode, or did not contain one in a supported format, or the software was simply unable to find it. Go "Back" in your browser and try another image.

Quizá al final XE8 no está usando bien el DLL.

Caray, tambien subí uno de los generados por el QRCodeTest.exe que incluyes y no lo pudo decodificar en esa pagina.

s3cr3to
Mensajes: 501
Registrado: Mar Dic 28, 2010 1:12 pm

Re: version para delphi xe7 xe8

Mensajepor s3cr3to » Jue May 28, 2015 9:38 am

Espero que DADO permita dejar esta información, me tardé varios días buscando opciones para probar la generación de CFDi en XE8. (no es información ni promoción comercial en mi opinión)

Para quienes quieran evaluar Delphi XE8.
Existe un proyecto de código abierto https://github.com/debenu/DelphiZXingQRCode/, lo probé con D7 hace tiempo, no recuerdo tener problemas en usarlo, pero no funciona directamente en Delphi XE8.

Afortunadamente y en esta página http://zarko-gajic.iz.hr/firemonkey-mobile-android-ios-qr-code-generation-using-delphi-xe-5-delphizxingqrcode/ Zarko hizó una adaptación para Delphi FMX (es decir habilito el código de escritorio para que funcione en dispositivos móviles usando FMX)

Lo interesante son los tips para convertir código "viejo" que también funcione con FMX (Firemonkey / dispositivos móviles):
..there are lots of “ansistring” and “widestring” types used for parameters in various functions inside the unit. If you want to go mobile, those are not supported and you should use “string”.
..hay muchos tipos "ansistring" y "widestring" usados como parámetros en varias funciones dentro de la unidad. Si quieres usarlo en móviles, estos tipos no son soportados y debes usar "string".

Más información en: http://docwiki.embarcadero.com/RADStudio/XE5/en/Migrating_Delphi_Code_to_Mobile_from_Desktop

Saludos cordiales!

s3cr3to
Mensajes: 501
Registrado: Mar Dic 28, 2010 1:12 pm

Sugerencia

Mensajepor s3cr3to » Sab May 30, 2015 2:56 pm

DADO, intenté probar el QRLib, creo qué si logré llamarlo desde XE pero el QR resultante no es legible con los escanners que tengo disponibles.
Quizá (ver imagen de la estructura) con tantas etiquetas quedo invalidado el código o peor: no funcionó en XE.
QRCode Structure.png
QRCode Structure.png (19.97 KiB) Visto 5263 veces

Sugerencia:
En lugar de poner varias etiquetas "validacfd.com" encima del qr demo.
Que tal si nos permites añadir el texto de prueba que querramos y tu internamente le añades al inicio tu publicidad al generar el QR.
Asi, el QR resultante sigue siendo un demo que nos permite comprobar que códifica correctamente y es escaneable con los dispositivos que tengamos para probar.

Ejemplo:
Demo-sugerencia.png
"http://validacfd.com*DEMO*?re=....
Demo-sugerencia.png (2.81 KiB) Visto 5263 veces


Volver a “SOPORTE LIBRERIA CFDLib.dll, CELib.dll y RETLib.dll”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados