Souci etrange.

Signaler
Messages postés
81
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
10 septembre 2003
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Voila j'ai une fentre.
Deux bouton pouvant ouvrir des fichiers.
Un pour l'ouverture d'un seul fichier et l'autre pour une ouverture multiple.
Cela est logique dans la conception de mon programme
(image ou serie d'image)
Le probleme c'est que lorsque j'ouvre beaucoup de fichier ma fenetre "ouvrir une serie" se ferme et "ouvrir une image" s'ouvre alors que je ne fais rien>

j'ai deux Case IDC_OUVRIR
et IDC_MULTIOUVERTURE

je ne comprends pas?
est ce un probleme courant ou une erreur cache dans mon prog?

MERkI

12 réponses

Messages postés
81
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
10 septembre 2003

un petit oubli:

Apres une utilisation provoquant une erreur (selection de 11 fichier) mon bouton "Ouvrir une Serie" ne marche plus, il ouvre la fenetre "Ouvrir une Image"
Messages postés
81
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
10 septembre 2003

encore une petite precision,

Lorsque j'appuie sur le bouton annuler de ma fenetre "Ouvrir une serie" il m'ouver ma fenetre "ouvrir une image"
Messages postés
81
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
10 septembre 2003

-------------------------------
Réponse au message :
-------------------------------

> encore une petite precision,
>
> Lorsque j'appuie sur le bouton annuler de ma fenetre "Ouvrir une serie" il m'ouver ma fenetre "ouvrir une image"
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > un petit oubli:
> >
> > Apres une utilisation provoquant une erreur (selection de 11 fichier) mon bouton "Ouvrir une Serie" ne marche plus, il ouvre la fenetre "Ouvrir une Image"
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Voila j'ai une fentre.
> > > Deux bouton pouvant ouvrir des fichiers.
> > > Un pour l'ouverture d'un seul fichier et l'autre pour une ouverture multiple.
> > > Cela est logique dans la conception de mon programme
> > > (image ou serie d'image)
> > > Le probleme c'est que lorsque j'ouvre beaucoup de fichier ma fenetre "ouvrir une serie" se ferme et "ouvrir une image" s'ouvre alors que je ne fais rien>
> > >
> > > j'ai deux Case IDC_OUVRIR
> > > et IDC_MULTIOUVERTURE
> > >
> > > je ne comprends pas?
> > > est ce un probleme courant ou une erreur cache dans mon prog?
> > >
> > > MERkI
> >
>
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Y a soit un ecrasement de donnees ou plus probable ta dlgproc est mal ecrite.
BruNews, ciao...
Messages postés
81
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
10 septembre 2003

Voila j'ai inverse mon code et en fait il semble que pour une selcetion depassant les 10 fichier ma fonction plante.
Consequence de l'inversion le probleme intervient sur l'autre bouton, c'est lorsque je click sur Annuler dans la box "Ouvrir unr Image" que la box "Ouvrir une serie" s'ouvre.

Je dois donc avoir deux erreurs, lesquelles?

Limite la deuxieme erruer je m'en moque ce qui me gene c'est de ne pas pouvoir ouvrir plus de 10 fichiers, meme en agrandissant mon buffer.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Si tu ne select que 2 fichiers par exemple, va bon ?
si oui y aura je pense ecrasement de donnees a verifier.
BruNews, ciao...
Messages postés
81
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
10 septembre 2003

Jusqu'a 10 fichier y a bon.

Comment je check l'ecrasement de donnees?
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
mets le dernier octet de ton buffer a ZERO, faut ensuite tester si != 0, auquel cas y a eu ecriture au dela.
BruNews, ciao...
Messages postés
81
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
10 septembre 2003

Soit mon buffer: c
j'utilise while (c*)
pour faire mon traitement, cela devrait etre bon normalement

case IDC_MULTI:
{
if(dlgSelectMultiFile(Dlg))
{
char *c;
c = multibuffer;
che = multibuffer;
int hh=0;

while(*c)
{
if(hh==1) //sert a separer le nom de fichier du chemin
// et a loader la premiere image de la serie
{char* enregistre NameGiver2 (che, c); Source chargement(enregistre); SetDlgItemText(Dlg, IDC_EDITMULTI, enregistre);
}
while(*c) c++;
c++;
hh=1;
}
return TRUE;
}
}
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
evite les if dans boucle, ici suffit de pousser c avant de rentrer dans while(*c).
pour le reste c'est toi qui construit ton prog, alors rien de special a dire.
BruNews, ciao...
Messages postés
81
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
10 septembre 2003

J'ai fait comme tu as dit.
J'ai pousse mon if, mais cela ne change rien je suis toujours limite a 10 fichiers.

A ce stade c'est de la sorcellerie, je vais allez voir un marabout.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Ressource binaire, j'ai fait la demo. Selecteur fichiers pas le temps sera pour une autre fois.
BruNews, ciao...