La libreria es muy facil de usar.ingggc escribió:Hace falta información.
Me la he pasado tratando tu DLL con un lenguaje xBase compatible y la verdad hacen falta datos
Por ejemplo la función CadenaOriginal no indicas ningún parámetro a pasarle a la función, ni modo
que opere por obra del espiritu santo, tu documentación esta muy pobre por tal dificil de implementar
Espero tus comentarios
GGC
Primero debes crear un archivo de texto tipo *.ini como el de la muestra, los datos se apegan al Anexo 20 asi que si me pides describirlos lo que haria es copiar y pegar dicho anexo....
El PSEUDOCODIGO es mas o menos asi:
Código: Seleccionar todo
TError : integer = List/Enum (OK=0, Arch_No_Encontrado=1, Dato_Obligatorio=2, Problemas_Certificado=3, Vigencia_Certificado=4, LlavePrivada=5)
ClaveDeLlavePrivada = Dialogo("Estimado Usuario, favor de proporcionar su clave de la llave privada :| ")
IF GeneraCFD(NombreDelArchivoIni,ClaveDeLlavePrivada) = OK THEN
Dialogo("Su Factura ya esta lista")
....aqui ya puede "solicitar" la cadena y el sello, no es por
obra del espiritu santo es gracias al milagro de la programacion....
Dialogo("La cadena original es" + CadenaOriginal)
Dialogo("El sello es" + SelloDigital)
ELSE
//GetError puede devolver por ejemplo "Archivo no encontrado"
//otro ejemplo de error puede ser "Dato Obligatorio"
Dialogo("Hubo un error, el error es " + GetError)
//GetErrorExt devuelve el nombre del archivo que no se encontro
//para el caso de "Dato Obligatorio" esta funcion de GetErrorExt puede arrojar por ejemplo "Emisor RFC"
//indicando que en el archivo ini no se definio el RFC del Emisor pero es requerido
Dialogo("Datos extra acerca del error " + GetErrorExt)