PB user32.dll

alanBZH29 Messages postés 16 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 15 août 2004 - 13 août 2004 à 18:45
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 15 août 2004 à 20:29
voila jai un probleme tu métonnes sinon je la poserai pas cett question ;o) bon voilou o faite bonsoir, alors jai un prog qui communique bien sous win98 avec un appareil via RS232 mais voila sous XP pass plus m dit probleme d'user32.dll euh qqun aurai une idée?? a oui joubliai ma comm série est faite par thread

15 réponses

essirc Messages postés 48 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 26 juillet 2005 3
13 août 2004 à 19:04
Oui j'ai une idée, aussi vague que la question.
0
alanBZH29 Messages postés 16 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 15 août 2004
13 août 2004 à 19:15
merci pr cette reponse bon si jai été vague jessaye de m corriger jai un programme qui communique sur liaison série cela fonctionne bien sous 98, mais en passant sur XP cela marche plus du tout, il me dit exactement erreur dans user32.dll et rien de plussssssssssssssssssssssssssss c lui qui est vague la :$ désolé ^^
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
13 août 2004 à 19:42
Combien ca coute pour avoir l'erreur exacte?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 août 2004 à 19:48
La comm ne serait pas faite a coups d'interruptions par hasard ?

ciao...
BruNews, Admin CS, MVP Visual C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
13 août 2004 à 20:22
Si c'est un pb avec User32.dll c'est qu'il doit manquer un fonction. Ya sans doute des différences entre les versions 98 et XP de la DLL, non?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 août 2004 à 20:25
Bien entendu qu'elles sont differentes, c'est UserBebe32.dll sur w98.

ciao...
BruNews, Admin CS, MVP Visual C++
0
alanBZH29 Messages postés 16 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 15 août 2004
13 août 2004 à 22:00
ALors voilou ou jen suis jai un peu plus cerné l'erreur donc ca vient de mon thread que je lance et la l systeme c plante pourtant fonctionnant sous 98 ( devient lourd avec 98). mon thread je l lance comm ca
h=AfxBeginThread(ThreadMEM,(LPVOID)w);
et à linterieur je fai que des réception de ligne série et des émission.

Jespere que cela peut rendre plu précis le schmilblik qui es vrai es très mal expliqué désolé
0
alanBZH29 Messages postés 16 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 15 août 2004
13 août 2004 à 22:02
et joubliai pr la comm c par des readfile writefile mais mis en fct pr recevoir plein d caractere ou en emettre plein c tout
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
13 août 2004 à 22:03
C'est ThreadMEM qu'il faudrait qu'on voit
0
alanBZH29 Messages postés 16 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 15 août 2004
13 août 2004 à 22:04
okok mais elle est un peu longue mais bon vai tenté 2 sec ^^ désolé
0
alanBZH29 Messages postés 16 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 15 août 2004
13 août 2004 à 22:18
int thread=0;
int nb=0;
while(1)
{
if(thread==0)
thread=1;
else
return 0;
CCommunication serie(comm1);
serie.InitComPort();
FILE *fichier;
char bufrecep[90];
CString fich=nomfichier1;
fich +=".trs";
fichier=fopen(fich,"w+");
char buf[90];
for(temp=(nbbloc0-1);temp<nbbloc1;temp++)
{
if(temp==(nbbloc1-1))
{
if(temp<16)
{
if(temp>=10)
{ if(temp==10)
wsprintf(buf,"C0A000A%c%c",+octet2,+octet1);
if(temp==11)
wsprintf(buf,"C0B000B%c%c",+octet2,+octet1);
if(temp==12)
wsprintf(buf,"C0C000C%c%c",+octet2,+octet1);
if(temp==13)
wsprintf(buf,"C0D000D%c%c",+octet2,+octet1);
if(temp==14)
wsprintf(buf,"C0E000E%c%c",+octet2,+octet1);
if(temp==15)
wsprintf(buf,"C0F000F%c%c",+octet2,+octet1);
}
else
wsprintf(buf,"C0%d000%d%c%c",+temp,+temp,+octet2,+octet1);
}
else
{
char char1=0,char2=0;
char1=(temp/16);
char2=temp-((temp/16)*16);
if(char1<10)
char1=char1+48;
else
char1=char1+55;
if(char2<10)
char2=char2+48;
else
char2=char2+55;
wsprintf(buf,"C%c%c00%c%c%c%%c",+char1,+char2,+char1,+char2);
buf[7]=octet2;
buf[8]=octet1;
}
}
else
{
if(temp<16)
{
if(temp>=10)
{ if(temp==10)
wsprintf(buf,"C0A000AFF");
if(temp==11)
wsprintf(buf,"C0B000BFF");
if(temp==12)
wsprintf(buf,"C0C000CFF");
if(temp==13)
wsprintf(buf,"C0D000DFF");
if(temp==14)
wsprintf(buf,"C0E000EFF");
if(temp==15)
wsprintf(buf,"C0F000FFF");
}
else
wsprintf(buf,"C0%d000%dFF",+temp,+temp);
}
else
{
char char1=0,char2=0;
char1=(temp/16);
char2=temp-((temp/16)*16);
if(char1<10)
char1=char1+48;
else
char1=char1+55;
if(char2<10)
char2=char2+48;
else
char2=char2+55;
wsprintf(buf,"C%c%c00%c%cFF",+char1,+char2,+char1,+char2);
}
}
serie.SendData(9,(unsigned char *)buf);
wsprintf(buf,'\0');
serie.SendData(1,(unsigned char *)buf);
int demarrage=nbbloc0-1;
if((octetdebut2>=48)&&(octetdebut2<=57))
{
demarrage=demarrage*16*16+(octetdebut2-48)*16;
}
if((octetdebut2>=65)&&(octetdebut2<=70))
{
demarrage=demarrage*16*16+(octetdebut2-55)*16;
}
if((octetdebut1>=48)&&(octetdebut1<=57))
{
demarrage=demarrage+(octetdebut1-48)+1;
}
if((octetdebut1>=65)&&(octetdebut1<=70))
{
demarrage=demarrage+(octetdebut1-55)+1;
}
int inc=0;
demarrage=((demarrage-1)*2)+1;
do{
if(!serie.ReceiveData(1,(unsigned char *)bufrecep)) goto relance;
if((((bufrecep[0]>=48)&&(bufrecep[0]<=57))||((bufrecep[0]>=65)&&(bufrecep[0]<=70))))
{
inc++;
if(inc>=demarrage)
{
fwrite(bufrecep,sizeof(char),1,fichier);
nb++;
}
}
if(nb==71)
{
fwrite("\n",sizeof(char),1,fichier);
nb=0;
}
}while(bufrecep[0]!=23);
serie.ReceiveData(1,(unsigned char *)bufrecep);
bufrecep[0]=0;
}
fclose(fichier);
fintransfert1=1;
serie.CloseCom();
}
return 0;
0
alanBZH29 Messages postés 16 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 15 août 2004
13 août 2004 à 22:21
que jexplique ca envoie sur la liaison série des commandes du types C0000FFFF et la je recois des caractères. jenvoie ces commandes tant que jai pas télécharger la taille mémoire souhaité.
c très rapide comm explication désolé
0
alanBZH29 Messages postés 16 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 15 août 2004
15 août 2004 à 19:05
bon jai réussi a trouver dou ca venait ca vient d
wsprintf(buf,'\0');
serie.SendData(1,(unsigned char *)buf);

j'envoie ce caractere sur la liaison serie et ca plante sous XP pourquoi avez vous une idée?? a oui buf est un tableau de char char buf[90].
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 août 2004 à 20:25
Je sais pas ce que tu veux faire la en faisant wsprintf(buf,'\0');
'\0' est interprété comme te pointeur nul, c'est donc normal que ce plante.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2004 à 20:29
buf[0] = 0;

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous