Imagen

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


CARTA PORTE V3.1

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


.

No funciona GeneraCFD en Delphi 2010

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
Cerrado
markdelphi
Mensajes: 11
Registrado: Mié Nov 10, 2010 10:58 am

No funciona GeneraCFD en Delphi 2010

Mensaje por markdelphi »

Hola

Tengo un problema con la función GeneraCFD, la utilize en Delphi 6 y todo funciona correctamente pero cuando la intento utilizar en Delphi 2010 no funciona, al momento de llamarla el valor de retorno es diferente de OK y tanto GetError como GetErrorExt devuelven caracteres chinos y no puedo saber el error.

Estoy utilizzando el proyecto de demostracion "CFDLibTest" para delphi con los INI y los certificados que vienen incluidos pero no funciona.

¿A que se debe?
Adjuntos
Imagen del error
Imagen del error
Error.jpg (44.53 KiB) Visto 5147 veces
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: No funciona GeneraCFD en Delphi 2010

Mensaje por Dado »

Se debe al Unicode

Cambia todas las variables "string" por "AnsiString"
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
markdelphi
Mensajes: 11
Registrado: Mié Nov 10, 2010 10:58 am

Re: No funciona GeneraCFD en Delphi 2010

Mensaje por markdelphi »

Pues ya cambie las variables pero me sigue marcando el mismo error. Lo malo es que no puedo saber ni que error es. Este el codigo, basicamente es el mismo que el del ejemplo solo cambie las variables al tipo AnsiString.

procedure TForm1.Button2Click(Sender: TObject);
var clave,FileN : AnsiString;
begin
OpenDialog.Title := 'CARGAR ARCHIVO INI PARA CONVERTIR A FACTURA';
OpenDialog.DefaultExt := 'ini';
OpenDialog.Filter := 'Archivo INI (*.ini)|*.ini';

if OpenDialog.Execute then
begin
clave := InputBox('','Introduzca la clave de la Llave Privada','');
FileN := OpenDialog.FileName;
if GeneraCFD(PChar(FileN),PChar(clave)) = OK then
MessageDlg('Se grabo la factura en formato XML'+#13#10#13#10+'La Cadena Original y el Sello Digital son'+
#13#10#13#10 + copy(CadenaOriginal,1,50) + '...' + #13#10#13#10 + copy(SelloDigital,1,50) + '...',mtInformation,[mbOK],0)
else
MessageDlg('Hubo un Error' + #13#10 + GetError + #13#10 + GetErrorExt,mtError,[mbOK],0)
end;
end;
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: No funciona GeneraCFD en Delphi 2010

Mensaje por Dado »

En el archivo CFDLibHeader.pas cambia TODOS los PChar por PAnsiChar

ejemplo :
function GetError : PAnsiChar; stdcall; external 'CFDLib.dll';
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
markdelphi
Mensajes: 11
Registrado: Mié Nov 10, 2010 10:58 am

Re: No funciona GeneraCFD en Delphi 2010

Mensaje por markdelphi »

Problema resuleto cambie los tipos Pchar por PAnsiChar.

Y la llamada a la función quedo así:

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


Saludos
Cerrado