begin process at 2008 09 06 03:18:58
1 237 631 membres
31 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : mots clés associés à pc : boite noire, mystique, vaudou, paranormal, magie etc... [ Windows / Autre ] (Loki6)

mots clés associés à pc : boite noire, mystique, vaudou, paranormal, magie etc... le 11/05/2007 17:01:20

Loki6
Membre Club
Salut à tous, voici un petit bout de code bizarre :
bool CAppLocalizeDlg::ClassInfosTable(char ** tab, int nb)
{

    // MessageBox(L"Texte",L"Titre",MB_OK);   
   
    m_htiEndListConfig = m_htiHeadListConfig = NULL;

    int i=0;
    int idconf=-1;
    char * nameconf = new char [50];
    char * typedb = new char [50];
    char * namedb = new char [255];
    char * nametable = new char [50];
    int nbfields=0;
    char ** namefields;
    int searchid = -1;

    while (i<nb)
    {
        sscanf(tab[++i],"IDConf = %d",&idconf);
        nameconf = GetValue(tab[++i]);   
        typedb = GetValue(tab[++i]);   
        namedb = GetValue(tab[++i]);   
        nametable = GetValue(tab[++i]);   
        sscanf(tab[++i],"NBFields = %d",&nbfields);   
        namefields = new char * [nbfields];
        i++;
        for (int j=0;j<nbfields;j++)
            namefields[j] = new char[50] = GetValue(tab[++i]);


        sscanf(tab[++i],"SearchField = %d",&searchid);
   
    ...
Si j'active la messagebox en bleu, le programme plante au niveau du code en rouge. Quelqu'un a une solution ?
est ce que c'est un truc gros comme une maison que je vois pas ?
s'il faut des indications supplémentaires demandez moi.

merci d'avance pour les idées.

Loki

Re : mots clés associés à pc : boite noire, mystique, vaudou, paranormal, magie etc... le 12/05/2007 23:24:08

saifer
Membre Club
Salut,

Si tu met en commentaire le MessageBox, le code ne plante pas et fonctionne correctement ?

-{ Saifer }-

Re : mots clés associés à pc : boite noire, mystique, vaudou, paranormal, magie etc... le 12/05/2007 23:31:56

saifer
Membre Club
C'est encore moi !
Ca plante au niveau du code en rouge, ok, mais pourrais-tu en dire plus, qu'elle est l'erreur ?


-{ Saifer }-

Re : mots clés associés à pc : boite noire, mystique, vaudou, paranormal, magie etc... le 13/05/2007 17:12:17

NitRic

la bonne méthode(pas la solution au problème):
    MessageBoxA(hWnd, "message", "title", ...); // ANSI
    MessageBoxW(hWnd, L"message", L"title", ...); // WIDE
    MessageBox(hWnd, TEXT("message"), TEXT("title"), ...);
avec les MFC/ATL, le premier argument(hWnd) est ignorer je crois(comme dans le code plus haut)

//
// tu fais plusieurs « ++i » dans ton while()
// après un tour de boucle, « i » pourrait très
// bien valoir bien plus que « nb » ...
//

while (i<nb)
{
   
// ...
    for
( ...; ...; ... )
       
namefields[j] = newchar[50] = GetValue(tab[++i]);
    //
    // en gros, tu fais ceci:
    //     namefields[j] = new char[50];
    //     namefields[j] = GetValue(tab[++i]); // tu écrases l'allocation précédente
    //
    // t'as que des fuites de mémoire
    //
    // si GetValue() retourne une chaine utilises strcpy() (ou autre équivalent)
    // après allocation avec « new », sinon il y a <string> de la STL ...
    //

}

tu devrais vérifier certaines valeurs, comme « nbfields » par exemple, avant le « new »

en fait, tu devrais repenser un peu ton code ... tu pourrais aussi utiliser le débogueur, y aller ligne / ligne et regarder les valeurs de tes variables, etc.


~(.:: NitRic ::.)~


Re : mots clés associés à pc : boite noire, mystique, vaudou, paranormal, magie etc... le 13/05/2007 20:44:45

Loki6
Membre Club
Saifer > oui si je mets en commentaire ça ne plante plus... pour ce qui est de l'erreur en elle même je ne sais pas trop.
j'exécute le prog en debug mais sur emulateur windows mobile 5.0 et quand ca plante, l'emul m'affiche un message à propos d'une erreur sur un certain gwes.exe je crois et me propose d'envoyer a microsoft. rien de plus. le compilo ne réagit pas plus que l'arrêt de l'exécution du programme.
je vois pas comment faire plus, désolé.

NitRic > merci pour tous tes conseils.
j'avais pas bien compris le système d'allocation apparemment. je croyais que je devais allouer l'espace et ensuire la deuxième partie copiait simplement la chaine retournée par GetValue() dans mon allocation mémoire.
pour ce qui est du i c'est pas grave et dans mon cas improbable.
pour les messagebox tu as entièrement raison, mais le compilo gère suffisament bien pour faire du bourrin comme j'ai fait :p

qu'en pensez vous ?

Loki

Re : mots clés associés à pc : boite noire, mystique, vaudou, paranormal, magie etc... le 13/05/2007 21:13:34

NitRic

Pour les MessageBox(), ca n'a rien a voir avec le compilateur mais avec une macro( UNICODE )

#ifdefined( UNICODE )
#define MessageBox    MessageBoxW
#else  /* Not UNICODE */
#define MessageBox    MessageBoxA
#
endif

d'où l'utilité d'utiliser la macro TEXT(" ... "), qui préfix avec « L » ou non selon le cas
pour l'histoire du « i » c'est une bien mauvaise habitude ...
pour le reste je l'ignore, je n'ai jamais développé pour mobile, désolé


~(.:: NitRic ::.)~


Re : mots clés associés à pc : boite noire, mystique, vaudou, paranormal, magie etc... le 13/05/2007 21:14:32

NitRic
le formatage fait vraiment pitier...

~(.:: NitRic ::.)~

Re : mots clés associés à pc : boite noire, mystique, vaudou, paranormal, magie etc... le 13/05/2007 21:20:08

Classé sous : int, tab, char, getvalue, nbfields

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS