Discussione:
MSComm32.ocx, aiutatemi prima che disintegro il PC
(troppo vecchio per rispondere)
Tizio98
2005-12-02 09:41:46 UTC
Permalink
Salve a tutti, ho un grosso problema con questa cavolo di libreria. Ho la
necessità di interfacciare un registratore di cassa ad un gestionale in
Access. Come da consigli da qualcuno di voi e che ancora ringrazio
infinitamente, ho usato la libreria in oggetto e dal momento che ho provato
una routine di prova sul PC che uso in ufficio, e sulla quale non ho
chiaramente la possibilità di provare la cassa, va tutto ok, o meglio il
codice non da errore. Il codice è descritto nel seguente testo:

Dim MSComm1 As Object

Set MSComm1 = CreateObject("MSCommLib.MSComm")

MSComm1.Settings = "2400,e,7,1"
MSComm1.CommPort = 1
MSComm1.PortOpen = True

ecc....

Il problema esce fuori quando ho provato a far digerire questo codice ad
altri PC, ben 3 diversi. Tutti sulla set si bloccano dando il messaggio che
il controllo ActiveX non può creare l'oggetto. Premetto che tutti i PC,
compreso quello dove va tutto bene, non hanno VB istallato ma hanno la
libreria registrata e referenziata regolarmente. L'unica differenza ma solo
su due dei 3 computer su cui non gira è Access 2003 invece di XP, che
comunque è istallato sul terzo e su cui non gira lo stesso. Io non so più
che pesci prendere e dove andare a parare ed il codice mi serve funzionante
entro oggi. Cercando su internet ho trovato qualche variante, per esempio:

Dim MSComm1 As MSCommLib.MSComm

Set MSComm1 = New MSCommLib.MSComm

ma il risultato è il medesimo, stesso blocco sulla set e stesso messaggio.
Vi prego aiutatemi a far luce su questo problema.
Grazie mille a tutti.

Ciao, Ciao.
Melchiade Bedrosian Baol
2005-12-02 10:20:05 UTC
Permalink
Post by Tizio98
Premetto che tutti i PC,
compreso quello dove va tutto bene, non hanno VB istallato ma hanno la
libreria registrata e referenziata regolarmente.
Di che libreria stai parlando?
--
Salutoni
Sergio

Per rispondere... togli il group dall'indirizzo

Se i tempi non chiedono la tua parte migliore, inventa altri tempi.
(Baolian, libro II, vv. 16-17)

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
salclem2
2005-12-02 10:22:42 UTC
Permalink
Post by Melchiade Bedrosian Baol
Post by Tizio98
Premetto che tutti i PC,
compreso quello dove va tutto bene, non hanno VB istallato ma hanno la
libreria registrata e referenziata regolarmente.
Di che libreria stai parlando?
probabilmente di MSComm32.ocx
Melchiade Bedrosian Baol
2005-12-02 10:24:29 UTC
Permalink
Post by salclem2
probabilmente di MSComm32.ocx
Della stessa libreria MSComm32.ocx ?
L'OP ha fatto un pacchetto di installazione?
--
Salutoni
Sergio

Per rispondere... togli il group dall'indirizzo

Se i tempi non chiedono la tua parte migliore, inventa altri tempi.
(Baolian, libro II, vv. 16-17)

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Tizio98
2005-12-02 10:30:55 UTC
Permalink
Post by Melchiade Bedrosian Baol
Della stessa libreria MSComm32.ocx ?
L'OP ha fatto un pacchetto di installazione?
Oddio in che senso?
Melchiade Bedrosian Baol
2005-12-02 11:30:34 UTC
Permalink
Post by Tizio98
Oddio in che senso?
Nel senso che l'errore che rilevi, per quel poco che ne capisco, è dovuto
al fatto che il sistema cerca di creare un oggetto basandosi su una
determinata libreria, ma non ci riesce.
Dici di aver verificato che la libreria in questione è presente sulle
macchine incriminate, quindi le ipotesi che farei sono due:
1) La libreria esiste ma è di una edizione diversa da quella che ti serve
2) Oltre a quella da te individuata occorre un'altra libreria.

Siccome io sono veramente poco esperto in materia, di solito faccio un
pacchetto di installazione con il pdw fornito insieme a visual basic, e
lascio che sia lui a installarmi/aggiornarmi/registrarmi le librerie sulla
macchina target.
--
Salutoni
Sergio

Per rispondere... togli il group dall'indirizzo

Se i tempi non chiedono la tua parte migliore, inventa altri tempi.
(Baolian, libro II, vv. 16-17)

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Albe V°
2005-12-02 11:32:55 UTC
Permalink
Post by Melchiade Bedrosian Baol
2) Oltre a quella da te individuata occorre un'altra libreria.
Siccome io sono veramente poco esperto in materia, di solito faccio un
pacchetto di installazione con il pdw fornito insieme a visual basic, e
lascio che sia lui a installarmi/aggiornarmi/registrarmi le librerie sulla
macchina target.
E osserveresti che, in un progettino col solo mscomm sul form, avresti
2 (due) librerie da distribuire, non una...


Alberto
--
Si è visto di meglio,
ma si è scopato di peggio,
qualche volta a pago
e non erano neanche sempre donne
[Paolo]
Melchiade Bedrosian Baol
2005-12-02 12:31:45 UTC
Permalink
Post by Albe V°
E osserveresti che, in un progettino col solo mscomm sul form, avresti
2 (due) librerie da distribuire, non una...
Se lo avessi mai fatto, probabilmente sì.
--
Salutoni
Sergio

Per rispondere... togli il group dall'indirizzo

Se i tempi non chiedono la tua parte migliore, inventa altri tempi.
(Baolian, libro II, vv. 16-17)

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Tizio98
2005-12-02 13:18:29 UTC
Permalink
Post by Albe V°
E osserveresti che, in un progettino col solo mscomm sul form, avresti
2 (due) librerie da distribuire, non una...
E quale sarebbe l'altra? Sicuramente allora è proprio quella che sul PC dove
gira va bene e sugli altri no.
Per ora spero di aver risolto, e lo saprò solo quando potrò tornare da uno
di quei 3 PC oggi pm, scaricando ed istallando la libreria NetComm, gratuita
e di uso identico alla MSComm con la sola differenza dell'input che si fa
con MSComm1.InputData invece che con MSComm1.Input.
Sul PC con cui sto lavorando anche questa libreria viene passata dal debug
senza errori ma daltronde anche la MSComm. Quindi incrociamo le dita. Se
sapete darmi altre delucidazioni è tutto ben accolto.
Grazie.

Ciao, Ciao.
Albe V°
2005-12-02 13:46:45 UTC
Permalink
Post by Tizio98
Post by Albe V°
E osserveresti che, in un progettino col solo mscomm sul form, avresti
2 (due) librerie da distribuire, non una...
E quale sarebbe l'altra? Sicuramente allora è proprio quella che sul PC dove
gira va bene e sugli altri no.
Per ora spero di aver risolto, e lo saprò solo quando potrò tornare da uno
di quei 3 PC oggi pm, scaricando ed istallando la libreria NetComm, gratuita
e di uso identico alla MSComm con la sola differenza dell'input che si fa
con MSComm1.InputData invece che con MSComm1.Input.
Cioè, ti è stato detto come individuare il file che ti serve (ossia
generando un pacchetto fittizio), e tu scegli di cambiare tecnologia?

Beh, non è l'atteggiamento di chi vuole migliorarsi.
Post by Tizio98
Sul PC con cui sto lavorando anche questa libreria viene passata dal debug
senza errori ma daltronde anche la MSComm. Quindi incrociamo le dita.
Ma tu questo sw lo devi fare per lavoro o per hobby?
Perchè se parliamo di professione, non è che il tuo sia un modo di
lavorare che io ammiri...

Alberto
--
Si è visto di meglio,
ma si è scopato di peggio,
qualche volta a pago
e non erano neanche sempre donne
[Paolo]
Tizio98
2005-12-02 18:13:52 UTC
Permalink
Post by Albe V°
Cioè, ti è stato detto come individuare il file che ti serve (ossia
generando un pacchetto fittizio), e tu scegli di cambiare tecnologia?
Purtroppo non mi è stato detto per nulla come individuare il file che mi
serve.
Come già detto prima non sto lavorando con Visaul Basic ma con Access ed
il suo
VBA. Non posso di certo creare pacchetti e poi il codice scritto è
talmente semplice
che non può avere qualche altra libreria. Tanto più che sostituendo la
libreria MSComm32 con la NetComm, lo stesso identico codice sugli altri
3 PC non da
più quel blocco.
Post by Albe V°
Beh, non è l'atteggiamento di chi vuole migliorarsi.
Scherziamo, se non volessi migliorare che ci perderei tempo a fare
dietro
a queste cose. Però purtroppo c'è sempre da considerare il lato tempo.
E poi xchè affrontare diversamente un ostacolo vuol dire non volersi
migliorare?
Questa nuova libreria dal mio punto di vista potrebbe essere anche
migliore,
poichè è completamente gratuita, mentre la MSComm da quanto ho capito
non lo è
ed è distribuita solo con VisualBasic. Non posso di certo pretendere che
oltre ad Access ed al sistema operativo il mio cliente deve comprarsi
anche
VisualBasic per far funzionare il mio database.
Post by Albe V°
Ma tu questo sw lo devi fare per lavoro o per hobby?
Perchè se parliamo di professione, non è che il tuo sia un modo di
lavorare che io ammiri...
E' partito per hobby ma interessa ad un mio amico che sta aprendo un
negozio e fa molto
al caso suo. Purtroppo ho seri problemi di tempo, ecco il xchè del mio
post disperato.
Entro questa sera devo darglielo funzionante e l'unica cosa rimasta era
sta benedetta
routine per la stampa in automatico dei prezzi su scontrino.
Mi dispiace per il modo di lavoro che non ammiri, se avessi avuto più
tempo allora
potrei anche capirti, ma in questo caso il tempo è tiranno e non posso
permettermi di provare all'infinito la stessa soluzione se da problemi.
Tanto più che sono già parecchi giorni che ci sto battendo il muso e
non ce la faccio proprio più. Resto sempre in attesa della soluzione per
la MSComm,
almeno per sapere per quale dannato motivo non ne vuole sapere di
funzionare su altri
PC.

Ciao, Ciao.
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Tizio98
2005-12-02 13:05:43 UTC
Permalink
Post by Melchiade Bedrosian Baol
Nel senso che l'errore che rilevi, per quel poco che ne capisco, è dovuto
al fatto che il sistema cerca di creare un oggetto basandosi su una
determinata libreria, ma non ci riesce.
Dici di aver verificato che la libreria in questione è presente sulle
1) La libreria esiste ma è di una edizione diversa da quella che ti serve
2) Oltre a quella da te individuata occorre un'altra libreria.
Siccome io sono veramente poco esperto in materia, di solito faccio un
pacchetto di installazione con il pdw fornito insieme a visual basic, e
lascio che sia lui a installarmi/aggiornarmi/registrarmi le librerie sulla
macchina target.
Ok, però purtroppo dal PC su cui funziona non avevo istallato VB, ho fatto
tutto da Access e VBA, la libreria dopo che mi è stata consigliata l'ho
scaricata da Internet ed usata così come mi hanno specificato. E' passando
da un PC all'altro che il codice da l'errore. Il problema è che bloccandosi
su quella set e sugli unici PC in cui potevo provare il registratore di
cassa, ancora non so se il codice che ho scritto va bene oppure necessita di
modifiche.
AAARRGGHHHHH!!!!! Speriamo di sbloccare questa situazione nel pm, ho i tempi
ristretti.
Grazie mille.

Ciao, Ciao.
RobertoA
2005-12-03 16:33:38 UTC
Permalink
Post by Tizio98
Ok, però purtroppo dal PC su cui funziona non avevo istallato VB, ho fatto
tutto da Access e VBA, la libreria dopo che mi è stata consigliata l'ho
scaricata da Internet ed usata così come mi hanno specificato. E' passando
da un PC all'altro che il codice da l'errore. Il problema è che bloccandosi
su quella set e sugli unici PC in cui potevo provare il registratore di
cassa, ancora non so se il codice che ho scritto va bene oppure necessita di
modifiche.
AAARRGGHHHHH!!!!! Speriamo di sbloccare questa situazione nel pm, ho i tempi
ristretti.
Grazie mille.
Potresti usare l'utility di Sysinternals che mi sembra si chiami NTFILEMON
che ti permette di visualizzare tutti gli accessi a tutti i file del
sistema sia quelli riusciti che quelli non riusciti.
Quando trovi che un certo file e' 'NOT FOUND' in corrispondenza del
malfunzionamento programma, allora potresti concentrarti su quello specifico
file, verificare se puo' essere il file che ti manca ed eventualmente
metterlo dove Windows lo avrebbe cercato.
Spesso questa semplice (si fa per dire perche' sto ntfilemon deve essere un
programmillo con i controc...oni) procedura mi ha salvato il culetto quando
proprio il programma appena installato non voleva saperne di partire.
E' particolarmente utile quando tu pensi che Windows vada a leggersi la tua
libreria, mentre per impostazioni particolari delle variabili di ambiente
viene letta una liberria con lo stesso nome della tua ma in un'altra
directory, e ovviamente di una versione piu' vecchia, cosi sembra che il tuo
programma abbia tutto il necessario (ed in effetti ce l'ha) ma non funziona
un cacchio.
Ciao
RobertoA
Tizio98
2005-12-05 14:09:27 UTC
Permalink
Post by RobertoA
Potresti usare l'utility di Sysinternals che mi sembra si chiami NTFILEMON
che ti permette di visualizzare tutti gli accessi a tutti i file del
sistema sia quelli riusciti che quelli non riusciti.
Quando trovi che un certo file e' 'NOT FOUND' in corrispondenza del
malfunzionamento programma, allora potresti concentrarti su quello specifico
file, verificare se puo' essere il file che ti manca ed eventualmente
metterlo dove Windows lo avrebbe cercato.
Spesso questa semplice (si fa per dire perche' sto ntfilemon deve essere un
programmillo con i controc...oni) procedura mi ha salvato il culetto quando
proprio il programma appena installato non voleva saperne di partire.
E' particolarmente utile quando tu pensi che Windows vada a leggersi la tua
libreria, mentre per impostazioni particolari delle variabili di ambiente
viene letta una liberria con lo stesso nome della tua ma in un'altra
directory, e ovviamente di una versione piu' vecchia, cosi sembra che il tuo
programma abbia tutto il necessario (ed in effetti ce l'ha) ma non funziona
un cacchio.
Ok lo sto cercando, speriamo serva allo scopo, anche se forse ho risolto con
un'altra libreria ora sono proprio curioso di sapere qual'era il mistero che
stava dietro questo malfunzionamento.
Ti ringrazio tanto.

Ciao, Ciao.
Albe V°
2005-12-05 14:22:03 UTC
Permalink
Post by Tizio98
ora sono proprio curioso di sapere qual'era il mistero che
stava dietro questo malfunzionamento.
Vedi qual'è il problema nel cercare scorciatoie, o, per meglio dire,
'pezze' per 'far funzionare' una cosa anzichè approfondire il vero
problema?

Venerdì prima di pranzo avevo già scritto che manca una libreria. E
Melchiade aveva scritto come fare ad indivduarla.
Oggi, ossia 3 giorni completi dopo, parli ancora di 'mistero'...

Ciao

Alberto
--
Si è visto di meglio,
ma si è scopato di peggio,
qualche volta a pago
e non erano neanche sempre donne
[Paolo]
Tizio98
2005-12-07 10:15:30 UTC
Permalink
Post by Albe V°
Vedi qual'è il problema nel cercare scorciatoie, o, per meglio dire,
'pezze' per 'far funzionare' una cosa anzichè approfondire il vero
problema?
Venerdì prima di pranzo avevo già scritto che manca una libreria. E
Melchiade aveva scritto come fare ad indivduarla.
Oggi, ossia 3 giorni completi dopo, parli ancora di 'mistero'...
No aspetta, c'è qualcosa che proprio non va. Tu dici che 3 giorni fa avevo
già ottenuto il modo per determinare questa libreria mancante da Melchiade,
lui infatti aveva scritto:
-Siccome io sono veramente poco esperto in materia, di solito faccio un
-pacchetto di installazione con il pdw fornito insieme a visual basic, e
-lascio che sia lui a installarmi/aggiornarmi/registrarmi le librerie sulla
-macchina target.
Questo però presuppone che io abbia lavorato con VisualBasic mentre invece
nemmeno ce l'ho istallato su nessuna delle macchine su cui ho provato quel
codice. Non mi risulta che posso creare dei pacchetti di istallazione come
da lui sugerito con il solo Access, poi magari mi sbaglio. Poi dici che
questo è il problema di cercare scorciatoie ma io ora mi ritrovo dopo 3
giorni a voler comunque cercare di capire xchè quella libreria non andava ed
approfondire quel problema, ma intanto il programma è perfettamente
funzionante ed istallato sul PC del negozio del mio amico e perfettamente in
grado di stampare gli scontrini dopo aver inserito un ordine di vendita. Non
credo proprio di aver messo una pezza per 'far funzionare' a forza una cosa,
anzi. In più la NetCommOCX mi pare di aver capito che offre le stesse cose
della MSComm ma con qualcosa in più. Quindi anche capissi qual'era il
problema con la libreria Microsoft non è detto che poi la implementerei
nuovamente.

Ciao, Ciao.
Albe V°
2005-12-07 10:25:34 UTC
Permalink
Post by Tizio98
Questo però presuppone che io abbia lavorato con VisualBasic mentre invece
nemmeno ce l'ho istallato su nessuna delle macchine su cui ho provato quel
codice. Non mi risulta che posso creare dei pacchetti di istallazione come
da lui sugerito con il solo Access, poi magari mi sbaglio.
Non importa.
Puoi chiedere a qualcuno, eventualmente sul NG, spiegando che non sei
in grado di fare il setup.
Oppure puoi usare qualche tool che visualizza le dipendenze delle dll,
e scoprire quale dll manca.
L'importante era capire che mancava una dll, ed era un concetto che
poteva tornarti utile per mille altre cose, in futuro.
Post by Tizio98
Poi dici che
questo è il problema di cercare scorciatoie ma io ora mi ritrovo dopo 3
giorni a voler comunque cercare di capire xchè quella libreria non andava ed
approfondire quel problema, ma intanto il programma è perfettamente
funzionante ed istallato sul PC del negozio del mio amico e perfettamente in
grado di stampare gli scontrini dopo aver inserito un ordine di vendita.
Oggi.
Post by Tizio98
Non
credo proprio di aver messo una pezza per 'far funzionare' a forza una cosa,
anzi. In più la NetCommOCX mi pare di aver capito che offre le stesse cose
della MSComm ma con qualcosa in più. Quindi anche capissi qual'era il
problema con la libreria Microsoft non è detto che poi la implementerei
nuovamente.
Non che io sia un fanatico MS, ma negli anni ho visto che *tutte* (e
proprio tutte) le volte in cui ho usato una libreria di terze parti,
con l'uscita di un nuovo sistema operativo è accaduta una delle
seguenti cose:
- la software house non esisteva più e non era quindi disponibile la
nuova versione
- la software house impiegava mesi per rilasciare la nuova versione
- la software house voleva essere pagata per darti la nuova versione

Si può discutere finchè si vuole di performance, feature aggiuntive,
ecc..., ma quando io vendo un prodotto, devo garantire che domani sarò
in grado di farne l'assistenza.
E con roba di terze parti, questo (almeno relativamente ai casi in cui
sono incappato), non mi è mai stato possibile.

Ciao

Alberto
--
A questo punto hanno trovato un muro,
un muro duro, molto molto duro,
che siamo noi.
Loading...