Newsgroup: it.comp.lang.visual-basic
Titolo: VB6 e gestione porte (con XP e' cambiato qualcosa?)

Ciao a tutti,
ho fatto un software che comunica con un frontalino (di una nostra
macchina) attraverso la porta COM. Il software ha sempre funzionato
con Win95, 98 e ME. 
Con XP non funziona piu'. Mi hanno detto che, con XP,  e' cambiata la
gestione delle porte (prima hardware ora software) qualcuno sa' darmi
qualche informazione in proposito?
il controllo mscom va' sostituito con qualcos'altro???
se e' una gestione software per caso c'e' qualche programmino che e'
in grado di simulare il funzionamento delle com come nei sistemi
precedenti?
a nessuno e' capitato qualcosa di simile? Io ho cercato nei post
precedenti e non ho trovato nulla... 
Ringrazio in anticipo tutti...
ciao
Marco

 ha scritto nel messaggio
news:pdt1109fvetjt3cq9...@4ax.com...

Anch'io gestisco un apparecchio via seriale con il controllo MSComm e non ho
nessun problema con Windows NT, Windows 2000 e Windows XP.
Ciao!
Esteban

 Con XP non funziona piu'.
Teoricamente usando MSComm non cambia niente. Nel senso che si occupa lui di
mascherarti le differenze a basso livello.
Se specifichi meglio il 'non funziona più', magari capiamo dove sta il
problema.
Ti dà errori?
Spara caratteri sbagliati sulla porta?
Sembra non ricevere?
Sembra non inviare?
Ciao
Alberto

 il controllo mscom va' sostituito con qualcos'altro???
No, le seriali continuano a funzionare perfettamente.
Controlla piuttosto che siano abilitate sia da bios che dalla gestione 
delle periferiche di windows.
Ciao

 ha scritto nel messaggio
news:pdt1109fvetjt3cq9...@4ax.com...

anche io uso la seriale per un lettore barcode via mscomm senza problemi su
XP

Grazie a tutti e tre per avermi risposto..
sono contento di sapere che mscomm funzionera' con XP. 
Ero in una situazione di "panico" perche' per la prima volta ho
istallato il programma su un nuovo portatile (con XP) che avrebbe
dovuto partire oggi. Ora sono un po' piu' lucido perche' una tempesta
di neve (in turchia) ritardera' di qualche giorno la partenza del
tecnico... 
Ora controllo come ha consigliato Zanna che le seriali siano abilitate
e funzionanti...
spiego meglio cosa succede:
il frontalino della macchina viene collegato al portatile e messo in
attesa. Il mio software invia i dati cliccando su un pulsante. Questo
almeno fino ad ora.
Con questo nuovo portatile invece, non appena metto il frontalino in
attesa si blocca il software e devo riaccendere la macchina (non il
PC).  Ho provato a collegare la com dopo aver messo il frontalino in
attesa. In questo caso il software del frontalino non si blocca ma i
dati non arrivano quando poi li invio dal portatile...
grazie ancora
Marco

 dati non arrivano quando poi li invio dal portatile...
Prima di impazzire su VB, in questi casi, fai semplicemente cosě:
Lanci l'HyperTerminal e configuri la porta come dovrebbe essere.
Se non funziona qui, c'č qualche problema hardware.
Se ricevi qualcosa ma non č quello che ti aspetti probabilmente la seriale č
settata male (da hyperterminal).
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 ha scritto nel messaggio
news:pc8Qb.173737$_P.61...@news4.tin.it...


 scritto di si)
Io uso un adattatore USB To RS232 della Bafo con Windows XP Pro e ti
assicuro che non ho mai avuto problemi!
Esteban

 ha scritto nel messaggio
news:burl5h$l5d6n$1...@ID-217323.news.uni-berlin.de...


 
http://support.microsoft.com/?kbid=819036
io ho scaricato il software ma il comportamento del frontalino non e'
cambiato...
Ciao
Marco


Per mia esperienza in XP hanno cambiato qualcosa....
Appena uscito Xp, su un pc cercavo di connettermi a una scheda con
porta  RS485 usando un convertitore RS232-RS485 e avevo dei problemi
perchè la linea RTS\ terminava alta un poco prima che finisse l'ultimo
byte non finendo di trasmettere la linea. (con una 485 è un problema
perchè la linea gira)
Il programma utilizza una DLL scritta in C (con le funzioni API
CreateFile, SetCommState, ecc.)  per poter usare il software di
comunicazione con altri linguaggi, e che aveva funzionato bene sui
vari W95 W98.
(in questa app. non uso MSCOMM, quindi non so se questo problema si
verifica anche con lui.)
Posso dirti come è stato risolto dopo diverse peripezie, e una
versione di DLL solo per Xp.
il campo  fRtsControl in fBitFields di DCB (sono 4 bytes) deve essere
messo a  RTS_CONTROL_TOGGLE (= 3)
dopodichè RTS\ fa il suo dovere.
Forse è complicato, ma è solo per dire che in Xp hanno effettivamente
cambiato qualcosa
Se vuoi documentarti cerca Funzione SetCommState:
Declare Function SetCommState Lib "kernel32" Alias "SetCommState"
(ByVal hCommDev As Long, lpDCB As DCB) As Long
e Struttura DCB
Type DCB
  DCBlength As Long
  BaudRate As Long
  fBitFields As Long 
  wReserved As Integer
  XonLim As Integer
  XoffLim As Integer
  ByteSize As Byte
  Parity As Byte
  StopBits As Byte
  XonChar As Byte
  XoffChar As Byte
  ErrorChar As Byte
  EofChar As Byte
  EvtChar As Byte
  wReserved1 As Integer 
End Type
ciao
  Stefano

 >venga appunto riconosciuta come un mouse.
Sě, č successo anche a me, ma te ne accorgi subito se il driver usato č per
mouse seriale: il cursore ti si sposta da solo e non riesci a controllarlo.
In pratica il SO interpreta alcune sequenze di byte come le richieste di un
mouse.
Basta cambiare il tipo di mouse o usare una comm differente, ma ripeto: te
ne saresti sicuramente accorto.
