Newsgroup: it.comp.lang.visual-basic
Titolo: :-(( NE STO USCENDO PAZZOOOOOO (lunghetto)

Sono in una situazione di crisi ASSOLUTA, non ci capisco + un cazzo !!
Ho due sitazioni e un programma.
Situazione 1:
Programma da installare su portatile senza parallela ma con cavo adattatore
(e software di gestione installato) a stampante ad aghi parallela.
Necessità di stampa in modo testo non grafico
Situazione 2:
Stesso programma da installare su un pc qualunque con stampante ad aghi (per
le prove sempre la stessa) collegata ad una LPT
Necessità di stampa in modo testo non grafico
Ho installato il software che gestisce l'adattatore USB anche sul PC che uso
per programmare.
Risultati della situazione 1:
Non va una mazza ......... la stampante dorme e non dà nessun cenno
Risultati della situazione 2:
La stampa parte ma ad un certo punto mi manda in crash il programma che devo
chiudere forzandolo con un bel CTRL+CANC
Una cosa che ho notato in questa situazione è che se eseguo la routine di
stampa passo passo la stampa viene eseguita correttamente.
Qualcuno mi può dare una mano per togliermi dal precipizio davanti al quale
sono ??
Le ho provate tutte:
Installato stampante con driver solo testo usando la printer.print
Altre decine di prove modificando il driver di controllo della stampante
La routine di stampa è questa:
        Open Printer.Port For Output As #1
        'IMPOSTO IL NUMERO DI RIGHE PER FOGLIO
        Print #1, Chr$(27); "C"; Chr$(71)
        'SPAZIATURA INTESTAZIONE FOGLIO
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        'CONDENSATO
            Print #1, Chr$(15)
        'DATI FOGLIO DI LAVORO
                Print #1, Tab(5); "Foglio di lavoro N.: "; rsFlav!flav_num;
" del "; Date
        Print #1, Chr$(13)
        Print #1, Chr$(13)
                Print #1, Tab(5); " Data chiamata: "; rsFlav!flav_datachiam;
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        'DATI CLIENTE
                Print #1, Tab(5); rsFlav!cli_nome; Tab(70); "TELEFONO ";
rsFlav!cli_tel
                Print #1, Tab(5); rsFlav!cli_indirizzo; Tab(70); "CELLULARE
"; rsFlav!cli_cel
                Print #1, Tab(5); rsFlav!cli_cap; "  "; rsFlav!cli_comune;
Tab(70); "FAX "; rsFlav!cli_fax
        'LAVORO ESEGUITO
        Print #1, Chr$(13)
        Print #1, Chr$(13)
                Print #1, Tab(5); "Intervento su impianto: ";
rsFlav!imp_desc;
                Print #1, " presso: "; rsFlav!imp_ind;
                Print #1, Tab(70); "Impianto acceso il: "; rsFlav![imp-avv]
        Print #1, Chr$(13)
        Print #1, Chr$(13)
                'LISTA MACCHINE SELEZIONATE
                Print #1, Tab(5); "MACCHINE IN CONTROLLO:"
                Print #1, Tab(5); "Macchina"; Tab(25); "Descrizione";
Tab(55); "Ubicazione"; Tab(80); "Lista pezzi"; Tab(95); "Matricola";
Tab(110); "Mnt"; Tab(120); "Gar"
                Print #1, Tab(5); String(123, "-")
                Do While Not rsFlavApp.EOF
                    Print #1, Tab(5); rsFlavApp!lpz_cod;
'MACCHINA
                    Print #1, Tab(23); Trim(rsFlavApp!lpz_desc);
'DESCRIZIONE
                    Print #1, Tab(50); rsFlavApp!dimp_macubi;    'UBICAZIONE
                    Print #1, Tab(82); rsFlavApp!lpz_lpcode;        'LISTA
PEZZI
                    Print #1, Tab(96); rsFlavApp!dimp_macmatr;  'MATRICOLA
                    If rsFlavApp!dimp_mnt = "Falso" Then
'MANUTENZIONE
                        Print #1, Tab(111); "NO";
                    Else
                        Print #1, Tab(111); "SI";
                    End If
                    If rsFlavApp!dimp_gar = "Falso" Then
'GARANZIA
                        Print #1, Tab(121); "NO"
                    Else
                        Print #1, Tab(121); "SI"
                    End If
                    rsFlavApp.MoveNext
                Loop
                rsFlavApp.Close
'                Print #1, Tab(5); String(123, "-")
        Print #1, Chr$(13)
        Print #1, Chr$(13)
                    'MOTIVI DELLA CHIAMATA
                    Print #1, Tab(5); "MOTIVO DELLA CHIAMATA:"
                    Print #1, Tab(5); String(123, "-")
                    Do While Not rsFlavMot.EOF
                        Print #1, Tab(5); rsFlavMot!mot_desc
                        rsFlavMot.MoveNext
                    Loop
                    rsFlavMot.Close
                    'SALTO FINE PAGINA
                    Print #1, Chr$(12);
                    'BEEP
                    Print #1, Chr$(7);
                    'POSIZIONAMENTO NUOVA STAMPA
                    Print #1, Chr$(13)
                rsFlav.MoveNext
                strFlavCorrente = ""
        Loop
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        Print #1, Chr$(13)
        Print #1, Chr$(13); Chr$(7); Chr$(7); Chr$(7)
    Close #1
    rsFlav.Close
Exit Sub
Errman:
'    MsgBox Err.Number & Err.Description
    Resume Next
End Sub
--
Grazie, Alberto (alias ALCAU)

Altra stranezza è che se la stampante la collego alla porta LPT1 (ecp mode)
il programma funziona perfettamente e la stampa arriva alla fine anche se
non in passo passo mentre se la stampante è collegata all'adattatore si
inchioda smpre nello stesso punto che nella soubrutine corrisponde alla
posizione :
                Loop
                rsFlavApp.Close


Questo é un messaggio di risposta standard e quindi impreciso, viene inviato
in genere a chi si é da poco affacciato al NG e potrebbe non contenere le
risposte in maniera diretta...
1)  Controlla il subject! Subject tipo: "Aiutooooo", "!!!", "Non ci sto più
dentro", "Sto impazzendo" sono subject che vengono filtrati da quasi
tutti... (Escluso il sottoscritto ancora per un po') e quindi non vengono
nemmeno letti dal 90% dei partecipanti (forse meno, ma comunque tanti)
2) Prima di postare sul NG sarebbe bene seguire un certo iter:
    a) Cercare nell' Help (alias MSDN ove possibile)
    b) Cercare nei vecchi post... Se ne hai pochi... non c'é problema, qui
ci sono quelli degli ultimi 6 anni (circa):
 
http://groups.google.com/advanced_group_search
    c) Cercare sul sito comune 
http://www.it_lang_vb.net
...Comunque almeno i post vecchi, MSDN e il subject sono vitali...
                        Ciao
                                Allanon