Winspool

Post Reply
new_indika
Posts: 13
Joined: Mon Feb 26, 2007 10:00 am
Location: Jerez de la Frontera

Winspool

Post by new_indika »

Para poder utilizar funciones del API de Windows que hacen referencia a la libería Winspool, ¿que es necesario que incluya en la aplicación? ¿Ha de incluirse alguna libreria o DLL "adaptada" a fivewin/xharbour?
new_indika
Posts: 13
Joined: Mon Feb 26, 2007 10:00 am
Location: Jerez de la Frontera

Post by new_indika »

Librerias y archivos relacionados:

Winspool.lib
Winspool.dll
Winspool.h

Como aclaración, Winspool es el servicio de windows que controla las impresoras, la cola de impresión, etc.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Haz impdef.exe winspool.def winspool.dll y asi obtendrás el fichero ascii DEF que contiene los nombres de las funciones que exporta esa DLL, luego puedes buscar documentación acerca de ellas sabiendo sus nombres
regards, saludos

Antonio Linares
www.fivetechsoft.com
new_indika
Posts: 13
Joined: Mon Feb 26, 2007 10:00 am
Location: Jerez de la Frontera

Post by new_indika »

Gracias Antonio.

Creo que antes no me explique bien. La documentación en sí, dispongo de ella, y para poder tener acceso a las funciones de la misma (muy utiles por cierto, pues permiten obtener el numero de impresoras conectadas al equipo, los drivers que utilizan, información sobre la cola de impresión,etcétera)
declaro las funciones de ésta manera.

Code: Select all

 DLL32 FUNCTION EnumPrintA; 
      ( flags AS LONG, ;
        name AS STRING, ;
        Level AS LONG, ;
        @pPrinterEnum AS BYTE, ;
        cdBuf AS LONG, ;
        @pcbNeeded AS LONG, ;
        @pcReturned AS LONG ) ;
   AS LONG PASCAL;
   FROM "EnumPrintersA" LIB "WINSPOOL"
Esta función del API de Win que aquí muestro, te enumera la lista de impresoras de las que dispone el equipo. Otras funciones del API que también utilizo, no me dan ningún tipo de problema. El problema es que con ésta en particular, parece ser que no es capaz de cargar la libreria WINSPOOL, entonces aquí surje mi duda. Ya no se si ésto está dentro del ámbito de FiveWin, o se sale de lo que a éste foro concierne. Si es así, disculpas.

Me explique mal al formular la pregunta del post. Mas bién debería haber preguntado cual es el procedimiento para cargar una librería, y poder hacer uso de sus funciones en FiveWin. A continuacíon, muestro la ruta de las librerias y del archivo de extensión .h, los cuales desearía utilizar.

Al compilar el programa me muestra éste error en tiempo de ejecución:
"Error code: 0 Loading Winspool". Dicho error, parece ser que se produce cuando se intenta cargar una librería, y esta, no existe (hace referencia a la última línea de código de este post). De hecho, si se cambia el nombre de librería por una no existente, muestra el mismo error.

P.D. En el Borland BCC5, estos archivos están en la ruta:
Borland\BCC55\include\winspool.h
Borland\BCC55\LIB\PSDK\winspool.lib

Saludos y gracias!
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Cambia winspool.dll por winspool.exe
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply