Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Come uso questa dll ?

74 views
Skip to first unread message

fedeRagtop62

unread,
Oct 5, 2011, 11:19:40 AM10/5/11
to
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

Alberto Salvati

unread,
Oct 5, 2011, 11:25:03 AM10/5/11
to
> 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 ?

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

A.

morde

unread,
Oct 5, 2011, 11:47:30 AM10/5/11
to
On 05.10.2011 17:19, fedeRagtop62 wrote:
> Come utilizzo questa dll nella mia applicazione delphi ? Come la
> 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

morde

unread,
Oct 5, 2011, 12:13:53 PM10/5/11
to
On 05.10.2011 17:47, morde wrote:

> A parte che i metodi esportati li puoi anche ricavare con le utilities
> 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.

Marco Breveglieri

unread,
Oct 5, 2011, 1:38:40 PM10/5/11
to
Il giorno mercoledì 5 ottobre 2011 17:19:40 UTC+2, fedeRagtop62 ha scritto:
> Come utilizzo questa dll nella mia applicazione delphi ? Come la
> 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)

fedeRagtop62

unread,
Oct 6, 2011, 3:44:33 AM10/6/11
to
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


Marco Breveglieri

unread,
Oct 6, 2011, 4:06:21 AM10/6/11
to
Il giorno giovedì 6 ottobre 2011 09:44:33 UTC+2, fedeRagtop62 ha scritto:
> Allora sulla documentazione dice solo di mettere la dll sotto windows/
> system32

Questo è naturale, ma serve solo per fare sì che il tuo programma possa individuarla quando viene lanciato, ma non ha a che vedere specificatamente con le risorse e le funzioni che si trovano all'interno.

> 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

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.
0 new messages