PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile 2024 → A L'AIDE ERREUR Code Erreur 0
A L'AIDE ERREUR Code Erreur 0
Iniciado por Mezeix Patrick, 04,dic. 2009 16:37 - No hay respuesta
Publicado el 04,diciembre 2009 - 16:37
Bonjour
j'ai une application de facturation en WM12 qui fonctionne sans Probleme sur les PPT8800 de SYMBOL, mais qui installée sur un CN2B INTERMEC n'arrete pas de planter

j'imprime par le support vehicule sur une imprimante serie par les fonction secrit
sur le COM1 mais la fonction Souvre plante dès que l'on accede a d'autre fenetre, par exemple une fenetre lit les lignes de facture et remplie un tableau avec le CA di l'on imprime apres cet fenetre (bien quel soit fermée) le Souvre renvoir une erreur (code erreur 0 ligne 21)
le programme fait 1.06 Mo, j'ai modifié les fenetres, fait une impression dans une autre fenetre en fermant avant celle de la saisie..... j'ai tenté de diminuer la taille de l'exe, il me reste sur le CN2 23 Mo de dispo

j'y arrive pas si quelqu'un pouvait me donner juste une piste ce serait sympa, ca fait 2 semaines que je rame

Code Source
SI OuiNon("VOULEZ VOUS IMPRIMER") = Oui ALORS
PL_CHARGE_PARAIMP()
HLitRecherchePremier(EFACTCLI,No_FACT,No_FACT,hLimiteParcours)
SI HTrouve() ALORS
EFACTCLI.ETAT_IMPRESSION = 1 // imprime
SI PAS HModifie(EFACTCLI) ALORS
FIN
PLOC_FIXE_PARAIMP()
MultitâcheRepeint()
L_PREIMP()
sFerme(Numport)
FIN
FIN


Procedure Globale
PROCEDURE PL_CHARGE_PARAIMP()
//parametre de configuration serie
//COM1 sans parité 9600 b 1 stop 8 bits Dtr
Numport = VG_NUM_COM
SI Numport > 9 ALORS
Numport = -1 //lpt1
FIN
SELON VG_PARITE
CAS 1
Pparite = 0 //sans
CAS 2
Pparite = 1 //paire
CAS 3
Pparite = 2 //impaire
AUTRE CAS
Pparite = 0
FIN
SELON VG_BAUD // vitesse
CAS 1
Pbaud = 1200
CAS 2
Pbaud = 2400
CAS 3
Pbaud = 4800
CAS 4
Pbaud = 9600
CAS 5
Pbaud = 14400
CAS 6
Pbaud = 19200
CAS 7
Pbaud = 38400
CAS 8
Pbaud = 56000
AUTRE CAS
Pbaud = 9600
FIN
SELON VG_STOP // stop bit
CAS 1
Pstop = 0
CAS 2
Pstop = 1
CAS 3
Pstop = 2
AUTRE CAS
Pstop = 1
FIN
SELON VG_MOT // longueur mot
CAS 1
Pmot = 7
CAS 2
Pmot = 8
AUTRE CAS
Pmot = 8
FIN

Procedure Locale cas 2 pour ma configuration

PROCEDURE PLOC_FIXE_PARAIMP()
//mode com de l'imprimante
SELON VG_DIAL
CAS 1
SI PAS sOuvre(Numport, 5000, 5000, 5000) ALORS
PG_MESSAGE("NIMPORT")
SINON
// Initialise les paramètres du port série
sFixeParamètre(...
Numport, ... // Port
Pbaud, ... // Taux
Pparite, ... // Parité : 0=aucune, 1=paire, 2=impaire
Pmot, ... // Nb bit de données
Pstop, ... // Nb bit de stop
// 0=1 bit de stop, 1=1,5 bits de stop, 2=2 bits de stop
Faux, ... // DTR/DSR ignoré
Vrai, ... // RTS/CTS ignoré
Faux) // XON/XOFF ignoré
FIN
CAS 2
SI PAS sOuvre(Numport, 5000, 5000, 6000) ALORS // c'est ici la ligne 21 ET CA PLANTE ICI Sans passer par le message
PG_MESSAGE("NIMPORT")
SINON
// Initialise les paramètres du port série
sFixeParamètre(...
Numport, ... // Port
Pbaud, ... // Taux
Pparite, ... // Parité : 0=aucune, 1=paire, 2=impaire
Pmot, ... // Nb bit de données
Pstop, ... // Nb bit de stop
// 0=1 bit de stop, 1=1,5 bits de stop, 2=2 bits de stop
Vrai, ... // DTR/DSR
Vrai, ... // RTS/CTS ignoré
Faux) // XON/XOFF ignoré
FIN
CAS 3
SI PAS sOuvre(Numport, 5000, 5000, 5000) ALORS
PG_MESSAGE("NIMPORT")
SINON
// Initialise les paramètres du port série
sFixeParamètre(...
Numport, ... // Port
Pbaud, ... // Taux
Pparite, ... // Parité : 0=aucune, 1=paire, 2=impaire
Pmot, ... // Nb bit de données
Pstop, ... // Nb bit de stop
// 0=1 bit de stop, 1=1,5 bits de stop, 2=2 bits de stop
Faux, ... // DTR/DSR ignoré
Vrai, ... // RTS/CTS ignoré
Vrai) // XON/XOFF
FIN
FIN
//la ca ne SERT A RIEN
SI EnModeTest() = Faux ALORS
SI ErreurDétectée ALORS
PG_MESSAGE("NIMPR")
Ferme()
FIN
FIN