Newsgroup: it.comp.lang.visual-basic
Titolo: MSComm32.ocx, aiutatemi prima che disintegro il PC

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.

 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 
ab...@newsland.it

 
probabilmente di MSComm32.ocx

 probabilmente di MSComm32.ocx
Della stessa libreria MSComm32.ocx ?
L'OP ha fatto un pacchetto di installazione?


 L'OP ha fatto un pacchetto di installazione?
Oddio in che senso?

 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.


 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]

 2 (due) librerie da distribuire, non una...
Se lo avessi mai fatto, probabilmente sì.


 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.

 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.

 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...


 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


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

 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.

 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


 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.

 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.