Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda help, como uso un archivo DLL (https://www.clubdelphi.com/foros/showthread.php?t=55874)

luis vazquez 29-04-2008 20:03:03

ayuda help, como uso un archivo DLL
 
buenas, por favor quiciera saver como usar un dll en mi aplicacion, explico:
tengo una aplicacion de facturacion, todofunciona perfecto pero ahora a mi cliente lo oblogan a usar una impresora fiscal, dicha impresora no se conecta como una impresora, la comunicacion es atravez de un DLL que me facilitaron en la ofc de ventas de dicha impresora, ya tengo los comandos y cambie el sistema de imprecion de factura, tengo que enbiar un archivo txt por medio de un comando al DLL y el se encarga de mandarlo a imprimir, ya que estas impresoras no reciben informacion, solo reciben ordenes y las ejecutan segun el programa interno que tienen, lo que yo no se es como unir el DLL a mi aplicacion y asi hacer uso de los comando que me indicaron, agradeceria la ayuda, estoy urgido asi que porfavor aver quien esta en el cyberspacio.

enecumene 29-04-2008 20:45:01

Hola, una forma de unir el DLL a tu aplicación puede ser de la siguiente forma:

Código Delphi [-]
procedure Hola; external 'EjemploDLL.dll';

y También puede ser a traves de Project->Import Type Library, también buscando en los foros habrán más informaciones.

Saludos. ;)

luis vazquez 29-04-2008 21:03:52

gracias por tan pronta respuesta
 
colo que la linea que me eindicaste y me genera un erro que no concige la el DLL, lo tengo grabado en la misma carpeta del programa, trate de adicionarlo por add library type pero me genera un error que el DLL no es valido.
///

procedure Hola; external 'fpctl.dll';
procedure TForm1.Button31Click(Sender: TObject);
VAR DllHandle: THandle;
begin
hola;
DllHandle := LoadLibrary('.\fpctl.dll');
if DllHandle <> 0 then showmessage('hola DLL');
//

es la parte del codigo don trato de unir el DLL, la parte del dllhandle es otro consejo que me dieron pero igual no funciona, que puedo hacer, donde esta mi error???
gracias

enecumene 29-04-2008 21:12:42

Bueno prueba de esta manera a ver, ojo, lo estoy haciendo al vuelo no tengo delphi en mano:

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
hMod : THandle;
begin
        hMod := LoadLibrary('fpctl.dll');
        if (hMod = 0) then Exit;
        @Hola := GetProcAddress(hMod, 'Hola');
        if @Hola  nil then Hola;
        FreeLibrary(hMod);
end;

Saludos.

luis vazquez 29-04-2008 21:23:06

ok un mundo de gracias, ya carge el DLL
 
ya tengo cargado el DLL, ahora segimos con los problemas, los comandos que debo utilizar son :

BOOL_STDCALL OPENFPCTRL(LPCSTR ipporname);
donde ipporname es el puerto com1

BOOL_STDCALL CLOSEFPCTRL();
para cerra el puerto

BOOL_STDCALL CHECKPRINTER();
para chequear el estado de la impresora

se supone que estan dentro del DLL pero al tratar de usarlos me da un erro de NO DECLARO O INDEFINIDO 'BOOL_STDCALL'

OSEA COMO USO LOS COMANDOS QUE SE SUPONEN ESTA EN EL DLL.
perdon por las mayusculas. muchas gracias por las prontas respuestas.


La franja horaria es GMT +2. Ahora son las 20:52:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi