IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[windows CE 4.2] Erreur lors d'un DoModal() sur une CPropertySheet


Sujet :

MFC

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut [windows CE 4.2] Erreur lors d'un DoModal() sur une CPropertySheet
    Bonjour bonjour

    Je developpe une application sous windows CE .Net (4.2). Dans cette application, j'ai besoin d'une CpropertySheet contenant 2 Pages.

    Mon probleme, c'est que pendant l'execution, au moment d'afficher ma feuille de proprietes, j'obtiens les messages suivants:

    Assertion Failure: dlgprop.cpp line 813

    et dans un deuxieme temps:

    Assertion Failure: afxwin2.inl line 48

    Premiere chose: je ne passe jamais par la ligne 813 de dlgprop.cpp
    En fait, la fonction qui me fait planter est la ligne 866, et est appelee lors de mon "sheet.DoModal();"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HWND hWnd = (HWND)::PropertySheet((AFX_OLDPROPSHEETHEADER*)psh);
    Ce qui est assez perturbant, c'est que le meme code fonctionne sous windows Mobile (mais evidement, je ne peux pas changer d'OS, ca perdrait tout son charme...)

    Derniere chose, le debuggueur me lache un joli petit 'first chance exception: 0xC0000005', je comprend pas trop ce qui se passe.

    Un peu d'aide serait la bienvenue, je vous remercie ^^

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    c'est la premiere erreur qui est importante ,montre nous le code :
    Assertion Failure: dlgprop.cpp line 813

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    merci de ton aide

    voila le bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    BOOL CPropertySheet::ContinueModal()
    {
    	// allow CWnd::EndModalLoop to be used
    	if (!CWnd::ContinueModal())
    		return FALSE;
     
    	// when active page is NULL, the modal loop should end
    	ASSERT(::IsWindow(m_hWnd));  // ligne 813
    	BOOL bResult = SendMessage(PSM_GETCURRENTPAGEHWND);
    	return bResult;
    }

    c'est donc ASSERT qui interrompt la creation de la fenetre?
    J'ai mis un breakpoint a cet endroit, et j'y passe pas (vraiment curieux)

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    quand tu dis le même code fonctionne sous windows mobile ,
    c'est exactement le même code ou une transcription de ce code ?
    si tu n'appelles pas la propertysheet le reste du programme fonctionne ?
    il n'y a pas un probleme de selection de plateforme cible pour ton programme ?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    je parle d'une transcription du code (ce que j'ecris avec mes ptit doigts, c'est bien ca?).

    Tant que je n'appelle pas la propertySheet, ca marche (bon, y'a pas grand chose d'autre dans mon programme)

    Et a priori la plateforme cible est choisie correctement.

    Sinon, en me baladant tout a l'heure, j'ai trouve ca:
    http://www.pocketpcdn.com/articles/p...anscriber.html

    Apparement, le probleme viendrait d'une implentation des MFC.
    J'a surcharge la fonction ContinueModal() pour sauter le ASSERT problematique, mais j'ai une erreur dans wincore.cpp

    Je poste le bout de code plus tard, il faut que je me sauve

    Merci encore

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je me repond a moi meme, parce que je suis un boulet et que j'ai lu un peu trop vite.

    La surcharge de la fonction resoud bien un probleme, mais c'est pas le mien
    Sinon, la ligne qui foire c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ASSERT(::IsWindow(m_hWnd)); // window must be created
    J'en deduis, fort habilement d'ailleurs, que je dois pas creer cette fichue fenetre.
    Mais pourquoi?

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    tu es sur de ne pas avoir un probleme dans tes pages de proprietés ?
    exemple tes pages sont bien avec le type child ?
    tu n'as pas de controle particuliers dans tes pages ? exemple un richedit,un custom control.
    est ce que tu rentres dans le contructeur des pages de propriétés ?


  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Mes pages me semblent correctes (child, pas de bordures, ni de barre de titres) et elles ne contiennent rien de particulier (un champ statique et un bouton, histoire de faire moins vide).

    Je rentre bien dans les constructeurs des pages, et dans celui de la feuille egalement.

    sinon, le hWnd de mes pages est egal a NULL. Ce qui me semble curieux, mais j'ai pas encore trouve la doc la dessus.

  9. #9
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    tu peux tracer dans le dodataexchange ?

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je suis pas sur de comprendre ce que tu entends par "tracer"
    Par contre, a l'execution, j'y passe jamais

  11. #11
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Citation Envoyé par Fanger
    Je suis pas sur de comprendre ce que tu entends par "tracer"
    Par contre, a l'execution, j'y passe jamais
    executer le programme pas a pas (trace debug).
    tu rentres OnInitDialog ?

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Non, apparement, je n'y passe pas.

    Je plante au moment ou je fais "DoModal()".

Discussions similaires

  1. Erreur lors d'un INSERT sur une table dans Firebird via dbExpress
    Par matou7 dans le forum Bases de données
    Réponses: 4
    Dernier message: 03/04/2012, 16h40
  2. [MVC] Erreur lors intégration Spring MVC sur une application JEE
    Par khaigo dans le forum Spring Web
    Réponses: 0
    Dernier message: 26/06/2011, 18h04
  3. [XL-2003] Erreur lors d'un retour sur une ligne de code
    Par buhrne dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/03/2010, 15h54
  4. Réponses: 3
    Dernier message: 25/02/2008, 09h09
  5. message d'erreur lors de la création d'une base
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/04/2004, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo