Problème avec DoModal d'une CDialog MFC

rachid1245 Messages postés 16 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 20 avril 2011 - 12 oct. 2009 à 13:52
brunomoraut Messages postés 16 Date d'inscription jeudi 10 novembre 2005 Statut Membre Dernière intervention 17 mai 2011 - 17 mai 2011 à 15:48
Bonjour à tous

Voilà j'ai un problème avec un excécutable que j'ai réalisé avec VC6.
il s'exécute trés bien sur le PC sur lequel je l'ai compilé mais pas sur un deuxième.
pourtant il a été compilé en mode release static link library.
Pour essayer de voir d'ou vien le problème je le compile sur le deuxième PC avec le même compilateur mais cette fois en mode debug dynamic link library. Il n' y a aucune erreur, juste le problème d'une assertion dans la fonction DoModal() dans DlgCore.cpp à ce niveau:
int CDialog::DoModal()
{
// can be constructed with a resource template or InitModalIndirect
ASSERT(m_lpszTemplateName != NULL || m_hDialogTemplate != NULL || m_lpDialogTemplate != NULL);
La question est d'ou vien ce problème?
Que faire pour que mon application s'exécute sur n'importe quel PC puisqu'elle est destinée à être distribuée.

merçi d'avance pour votre aide
à très bientôt.

3 réponses

brunomoraut Messages postés 16 Date d'inscription jeudi 10 novembre 2005 Statut Membre Dernière intervention 17 mai 2011
7 avril 2011 à 14:02
J'ai eut le même type d'erreur dans 2 cas:

Dans le premier cas c'est en recréant une autre fenêtre avec la liaison à la classe même classe de dialogue de ma fenêtre, que je me suis aperçu que l'erreur restait, alors que sans sa liaison, ma fenêtre originale ne provoquait plus d'erreur.

Dans l'autre cas, c'est en changent l'ordre des membre que j'ai réglé le problème.

Le enum { IDD = ... est censé faire cette liaison (entre la fenêtre et sa classe de dialogue) mais il me parait apparaitre qu'autre chose se passe mal à la compilation dans certains cas.

Je pense qu'il y a des inversions dans l'ordre des membres de la classe de dialogue lié à la ressource fenêtre (Propriétés ou Méthodes) qui ne sont pas acceptés par le compilateur.


Par contre, je fait encore des essais pour trouver ce qui n'est pas accepté par le compilateur.

Pour te dépanner, en attendant, recrée la fenêtre et recopie dans le <MonApplication>.rc les paramètres de ta fenêtre (boutons etc) correspondant au enum et recopie petit à petit les membres et méthodes de la classe dialogue dans une nouvelle...

Désolé de ne pas en savoir plus, mais si j'ai d'autres info, je répondrai...

Cordialement
brunomoraut






bmoraut
0
rachid1245 Messages postés 16 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 20 avril 2011
20 avril 2011 à 12:26
Merci pour l'intérêt que tu as porté à ma question.
A propos je n'utilise plus le compilateur VC6.
j'ai convertis toutes mes sources en VC2010.
Merci encore.
Rachid1245.
0
brunomoraut Messages postés 16 Date d'inscription jeudi 10 novembre 2005 Statut Membre Dernière intervention 17 mai 2011
17 mai 2011 à 15:48
Moi aussi, je suis passé à VC2008 puis VC2010 et le pb reste le même bug dans les VC... :-)

Cordialement


bmoraut
0
Rejoignez-nous