Newsgroup: it.comp.lang.delphi
Titolo: Come uso questa dll ?

Ciao, avevo scritto qualche tempo fa per un problema riguardante il
captare lo stato del rotolo carta in una stampante.
I produttori della stampante mi hanno ora fornito una dll con delle
funzioni apposite per richiedere lo stato della stampante.
 
Come utilizzo questa dll nella mia applicazione delphi ? Come la
importo ?
 
Grazie

 importo ?
 
Hai gia visto nella guida in linea e/o sui soliti siti?
 
A.

 importo ?
 
cosa dicono le istruzioni?
la dll è un OCX oppure una libreria dinamica?
se è un OCX dovrai importati la type library, ricavare il server COM e 
invocarlo (è come fare ole automation con office)
 
se è una libreria dinamica pura (di solito i driver espongono chiamate 
dirette) devi farti dare la guida dei metodi esportati.
A parte che i metodi esportati li puoi anche ricavare con le utilities 
della sysinternals.
 
Cmq sia, dovresti avere la documentazione che ti dice cosa contiene la dll.
 
-- 
morde
QT 4.7
Delphi (5,6,7.. expired)
Firebird Database

 della sysinternals.
Integro il post con questo tool che ho usato per un progetto l'anno scorso:
http://www.nirsoft.net/utils/dll_export_viewer.html
 
Ti puoi ricavare indirizzo e firma dei metodi esportati (va poi 
considerato il "mangling" dei nomi).
 
Ma a questo livello di tecnicismi non dovresti arrivare: vedi di 
recuperare la documentazione della DLL dai produttori.


 importo ?
 
La mia sfera di cristallo è rotta, quindi temo che dovrai fornirci qualche dettaglio in più. :)
 
Chiedi la documentazione a chi te l'ha fornita, oppure sii più specifico (e ricorda che esiste anche Google).
 
-- 
Marco Breveglieri
   (
http://www.marco.breveglieri.name
)

Grazie a tutti delle risposte.
Allora sulla documentazione dice solo di mettere la dll sotto windows/
system32
 
To get printer status during a print job, you must install a special
version of printer driver which uses a
layer software called Language Monitor.
If you use a normal printer driver you won’t be able to get printer
status when printer is into a
document spooling job.
The supported language monitor compatible with CeSmLm.dll is CeLm.dll.
To use this DLL you must distribute it with your software.
The recommended place to copy the CeSmLm.dll to is the SYSTEM32
directory; NOTE: to use
CePrnSpy TOOL please install the CeSmLm.dll into this directory.
To know more about printer status codes returned, please see DLE EOT n
(n = 0x14 FULL Status)
command descriptions into ESC/POS emulation on printer ’s manual.
It is not possible to install more than one status monitor driver on
the same serial communication port
(see appendix D for more information).
On all devices which use serial interface, COM port flow control
setting must be configured to
Hardware.
 
Provando a fare
 
regsvr32.dll CeSmLm.dll
 
ho il messaggio "Il modulo è stato caricato ma il punto di ingresso
DllRegister Server non è stato trovato" ... questo credo voglia dire
che la dll non va registrata
 
 

 che la dll non va registrata
 
Infatti da nessuna parte mi pare si dica che debba essere registrata. Solo i server COM (inteso come "Component Object Model") vanno registrati.
 
Non puoi andare per tentativi nella speranza che, magicamente, con una copia e una registrazione, il tutto funzioni, fermo restando che queste operazioni riguardano essenzialmente il "deploy" di qualcosa, ma nella documentazione devi anche individuare come sfruttare quella libreria.
 
Leggi *tutta* la documentazione, non solo una parte.
 
Ciao,
  Marco.
