![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
puerto paralelo en WINXP mandando a llamar dll
Hola soy nuevo en delphi y en el manejo de dll, Tengo un problema que por mi novatez no he podido resolver. Resulta que necesito enviar datos al puerto paralelo por medio de un programita en delphi, ya he leido los hilos anteriores acerca de como hacerlo mediante codigo ensamblador usando:
asm push dx mov dx, 888 //888 es la direccion del puerto paralelo mov al, 255 out dx, al pop dx end; pero el problema es que esto no funciona para windowsNT,2000 ni XP, porque estos no permiten el acceso directo a los puertos. Encontré la solución y lo que tengo que hacer es mandar a llamar una dll desde el programa que habilita el acceso a los puertos en WINXP, seguí un tutorial donde te explican paso a paso que hacer http://sheepdogguides.com/dt4j.htm pero me encuentro con un problema, no me compila el código que alli viene en el tutorial, el procedimiento que puse es el siguiente: procedure TForm1.ScrollBar1Change(Sender: TObject); var bWriteMe, bErr:byte; function Out32(wAddr:word;bOut:byte):byte; stdcall; external 'inpout32.dll'; begin bWriteMe:=ScrollBar1.position; Label1.caption:=inttostr(bWriteMe); bErr:=(Out32($378,bWriteMe)); // en donde $378 es la direccion del puerto end; Al tratar de compilarlo me marca el siguiente error: [Error]inpout.pas(29); Invalid compiler directive: 'EXTERNAL' [Fatal Error] Projetinpout.dpr(5);Could not compile used unit 'inpout.pas' No se porque marca este error porque incluso ya intente con otro programa mandar a llamar a una libreria de la misma forma: function pcDLLVersion:string; stdcall external 'DD50demo.dll'; Y NO HAY NINGUN PROBLEMA, EL PROGRAMA FUNCIONA A LA PERFECCION, haciendo notar que usa el mismo external que me marca error en el inpout.pas NECESITO AYUDA URGENTE PORFAVOR, ya he checado segun yo los mas comunes posibles errores, ya comprobe que la inpout32.dll se encuentre en la misma carpeta donde tengo mi programa, etc. ALGUNA SUGERENCIA????? espero su respuesta con ansias porque me urge terminar este proyecto de antemano MUCHAS GRACIAS Picospunk |
|
|
![]() |
|