dado escribió:En la tarde estuve estudiando como hacer un OCX en Delphi, te adelanto que no es para nada facil aunque hay un "wizard" que me puede ayudar. Vamos a hacer esto, deja me desvelo intentando convertirlo a OCX y mañana si consigo algo te aviso para que me ayudes a probarlo. Te parece?
Te agradezco mucho tu apoyo al respecto, solo que antes de que te quemes las pestañas, quisiera agotar todas las posibilidades.
Sobre la pregunta de arriba de como defines tu las funciones en delphi, me refería a como creas las funciones en el codigo fuente
de la libreria cfdlib.dll pues quería saber si estas usando al final de cada función ;export;stdcall;
Tendras una lista completa de los codigos de error que devuelve TError ? no la ubico donde comentas en otro post.
Estaré instalando delphi7 en mi compu para crear una dll con algunas funciones simples y hacer pruebas con
diferentes tipos de variables.
Aprovechando comentarte la posibilidad que le agregues a la libreria un poco de seguridad de copiado,
es decir, al habilitar mi aplicación con un cliente, existen cierto personal de sistemas muy curiosos y
se copiaran la dll de la libreria sin miramientos para usarla ellos mismos, y pues como yo pague
por ella, lo correcto que tambien ellos paguen. Asi que te propongo lo siguiente:
Agregar un parametro mas al archivo .ini
licencia=fbc71ce36cc20790f2eeed2197898e71
El valor de licencia es un MD5 de la clave del comprador de la dll (en este ejemplo el MD5 de "clave")
Agregar el parametro opcional "ClaveDistribuidor" a la funcion de GeneraCFD
function GeneraCFD(IniFileName, ClaveLlavePrivada, ClaveDistribuidor : string) : TError;
De tal forma que cuando no se especifica la ClaveDistribuidor en el llamado a la funcion (o no esta el parámetro "distribuidor" en el ini), se ejecutará
en modo demo (usando el RFC y empresa DEMO), por el contrario, sí se agrega el parámetro de la clavedistribuidor (antes de hacerle MD5)
y dentro de la librería lees el parámetro "licencia" del archivo .ini debe coincidir con el MD5(clavedistribuidor) y entonces se liberará la librería en
modo de producción. ¿ como ves ? Tal vez para algunos lenguajes web no tendria mucho caso pues el codigo fuente esta en el servidor y se vería
la clavedistribuidor, pero ne los lenguajes compilados sería al menos un poco mas complicado que se copiaran la dll.