User Tag List

Page 2 of 4 FirstFirst 1 2 3 4 LastLast
Results 11 to 20 of 36

Thread: Aide pour l'enregistrement des propriétées

  1. #11
    Gawen
    Guest

    Re: Aide pour l'enregistrement des propriétées

    Bien vu. J'avais pas pensé à cette possibilité. Je vérifie tout de suite.

    EDIT : Effectivement, c'est bien callRunTimeFunction avec une majuscule.

  2. #12
    Tyrael
    Guest

    Re: Aide pour l'enregistrement des propriétées

    Me re-voila!

    Pour le callRunTimeFunction, c'était bien un problème de Majuscule.
    Quelqu'un pourrait il m'expliquer précisément la méthode de débug avec VisualC++ 2005 Express et en francais si possible?
    J'ai actuellement 2 problèmes très bizzare:
    -Je ne peut pas utiliser les expression, appeller une expression revient à balancer une érreure, plus que bizzare car les actions et conditions ne buggent pas...
    -J'ai également remarqué que MMF2 (ou plutot edrt.exe) plantz lorsqu'il arrive à établire une connexion (localhost et root sur port 80, il plante pas sur le reste...)

    Merci

  3. #13
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    13,089
    Mentioned
    123 Post(s)
    Tagged
    2 Thread(s)

    Re: Aide pour l'enregistrement des propriétées

    Pour débugger l'application avec VC2005 :

    Si tu veux débugger la partie Editeur (édition des propriétés, édition dans le frame editor, création, chargement, etc) :

    1. Edite les propriétés de la configuration Debug de ton projet,
    clique sur Debugging et entre le nom de chemin de MMF2.EXE dans la ligne Command, par exemple :

    C:\progtam files\multimedia fusion 2\mmf2.exe

    2. Pour débugger ton extension dans VC, appuie sur F5 (ou clique sur l'option Start Debugging du menu Debug). Si tu veux débugger une routine spécifique, va sur la ligne où tu veux que le programme s'arrête, appuie sur F9 pour ajouter un "break point" (point d'arrêt en Français). Par exemple met un break point sur le if ( IS_COMPATIBLE() ) de la routine CreateObject dans EditTime.cpp, le programme s'arrêtera dès que tu insères un objet dans l'éditeur de scène. Le programme s'arrête aussi automatiquement quand il y a un crash, sur la ligne qui provoque le crash.

    Une fois que ton programme s'est arrêté, tu peux examiner le contenu des variables globales et locales, affichées dans une fenêtre spéciale, ou en mettant le curseur sur la variable affichée et en appuyant sur Shift-F9.

    Tu peux aussi faire avancer le programme pas à pas: F11 pour exécuter pas à pas et entrer dans les routines appelées, ou F10 pour exécuter pas à pas en ne rentrant pas dans les routines appelées. Tu peux aussi cliquer à droite sur une ligne et sélectionner "Run to cursor" pour s'arrêter un peu plus loin, etc.

    Si tu veux débugger la partie Runtime c-a-d quand tu exécutes une application depuis MMF2, c'est un poil plus compliqué.

    1. Copie le fichier CopyRun.bat (fourni dans le SDK) dans le répertoire de MMF2 (à côté de MMF2.exe) et crée le répertoire c:\temp\rt (tu peux utiliser un autre répertoire et changer copyrun.bat si ça te change).

    2. Crée ton application à débugger avec MMF2, et appuies sur SHIFT en même temps que tu cliques sur le bouton Exécuter Application : ça ne lance pas l'application, ça copie les fichiers dans c:\temp\rt.

    3. Dans VC, au lieu de MMF2.EXE comme "Command" de la page "Debugging", met edrt.exe qui se trouve dans le répertoire Data\Runtime de MMF2 :

    C:\progtam files\multimedia fusion 2\data\runtime\edrt.exe

    et met :

    /Fc:\temp\rt\app0.ccn

    juste en-dessous, dans Command Arguments.

    4. Idem que précédemment, appuies sur F5 dans VC pour lancer l'application, met des break points où tu veux ou alors attend que ça crashe.

  4. #14
    Tyrael
    Guest

    Re: Aide pour l'enregistrement des propriétées

    Merci, j'ai réussi à éxécuter un débuggage correct, malhereusement, le programme ne s'arrète pas, il se bloque juste, et donc le VisualC++ renvoir "Le programme '[4896] edrt.exe: Natif' s'est arrêté avec le code 0 (0x0).", aucuns moyens de savoir d'ou sort le problème.
    Je vait essayer de balancer des Break Points aux endroits suspects...

  5. #15
    Tyrael
    Guest

    Re: Aide pour l'enregistrement des propriétées

    J'ai découvert le problèmes, mais j'ai évidemment besoin de vous pour le résoudre.
    J'ai trouvé que une variable MYSQL possède des unsigned char * (je croit bien que le problème vient de la car il me sort des CXX0030, qui sont des érreures de définition de variables {"impossible d'évaluer l'expression"})
    Je pense que le problèmes est que la taille du runData est limitée, or MySql demande une préparation des données par une mysql_init(), les données ne pouvant pas dépasser le maximum (je pense), ne sont pas allouées, et donc mysql est dans l'impossibilitée d'écrire dans ces variables...
    Je pense que je suis dans le faux mais je pense aussi être tout près [img]/epicentre/images/%%GRAEMLIN_URL%%/blush.gif[/img]
    Merci de votre aide

  6. #16
    Gawen
    Guest

    Re: Aide pour l'enregistrement des propriétées

    Si le problème survient en runTime comme tu le dit, il y a une solution toute trouvée :
    ton RUNDATA ne contient qu'un champ perso, un pointeur vers un objet de ta création contenant des char* ou des string de la stl ou ce que tu veux. Les mécanismes d'allocation de mémoire en C++ étant bien plus souple que ceux en C, le passage à l'objet résoudra ton problème.

    On ne peut effectivement pas utiliser cette solution en editTime car il y a le problème de la sauvegarde du fichier mfa, donc les pointeurs sont à proscrire si possible; mais en runTime, on fait ce qu'on veut.

    J'espère que ça résout ton problème [img]/epicentre/images/%%GRAEMLIN_URL%%/wink.gif[/img]

  7. #17
    Tyrael
    Guest

    Re: Aide pour l'enregistrement des propriétées

    Je suis VRAIMENT désolé de vous avoir embêté mais en fait ma librairie libMySQL.dll était obsolète [img]/epicentre/images/%%GRAEMLIN_URL%%/blush.gif[/img]
    Donc pour l'instant plus aucuns bugs ne se présente, je pense pouvoir sortir une extension MySQL d'ici peu de temps... (malhereusement si l'extension n'arrive pas a se connecter elle crash [img]/epicentre/images/%%GRAEMLIN_URL%%/cry.gif[/img] )
    Merci quand même de votre aide [img]/epicentre/images/%%GRAEMLIN_URL%%/smile.gif[/img]

  8. #18
    Tyrael
    Guest

    Re: Aide pour l'enregistrement des propriétées

    Voila j'ai bien avancé mais j'ai encore quelques problèmes!
    Je tient à préciser que mon extension se connecte parfaitement (en local ou si le serveur accepte les connections extérieures) et exécute des requètes comme les INSERT, CREATE et autres...
    Je vait tester les SELECT la...
    Mon problème survient lorsque l'on clique sur le bouton fermer l'appli:
    Le débuggueur m'indiqua effectivement la ligne: delete rdPtr->connection;
    J'utilise un new MYSQL au début.
    Le message exact du débuggeur est: "Windows a déclenché un point d'arrêt dans edrt.exe.

    Cela peut être dû à une défaillance du tas et indique un bogue dans edrt.exe ou l'une des DLL chargées.

    La fenêtre Sortie peut contenir des informations de diagnostic supplémentaires"
    J'utilise la DLL libmysql.dll que j'ai indiquée dans GetDependencies() de general.cpp

    Je ne voit absolument pas comment faire... (plus que les dernières fois j'entend ^^)

  9. #19
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    13,089
    Mentioned
    123 Post(s)
    Tagged
    2 Thread(s)

    Re: Aide pour l'enregistrement des propriétées

    <div class="ubbcode-block"><div class="ubbcode-header">En réponse à:</div><div class="ubbcode-body">Cela peut être dû à une défaillance du tas et indique un bogue dans edrt.exe ou l'une des DLL chargées.</div></div>
    Quand on a un crash dans un programme qu'on développe il faut toujours partir du principe que c'est du à ses routines plutôt qu'à un bug dans une DLL quelconque. [img]/epicentre/images/%%GRAEMLIN_URL%%/wink.gif[/img]

    S'il plante sur la ligne delete rdPtr-&gt;connection c'est que soit le pointeur est invalide, soit que quelque chose crashe dans le destructeur de l'objet connection, soit à cause d'une séquence de libération effectuée incorrectement, ou à cause d'un autre objet qui a été libéré alors qu'il ne devrait pas l'être car libéré dans le destructeur de l'objet connection, etc.

    Est-ce que l'initialisation et la libération de la DLL en question et des divers objets est faite correctement dans le CreateRunObject et le DestroyRunObject?

  10. #20
    Gawen
    Guest

    Re: Aide pour l'enregistrement des propriétées

    Peut-être qu'il faut fermer la connexion avant de pouvoir la supprimer (via une méthode du MYSQL créé en début de runTime ?)

    Si le problème vient de ce que je dis, le bug est en fait une exception générée dans le destructeur de MYSQL si la connexion n'est pas fermée.

    Enfin, c'est juste une idée qui m'a traversé l'esprit [img]/epicentre/images/%%GRAEMLIN_URL%%/smile.gif[/img]

Page 2 of 4 FirstFirst 1 2 3 4 LastLast

Similar Threads

  1. limite d'enregistrement a l'install A L'AIDE
    By copperbob in forum Multimedia Fusion 2 - Technical Support
    Replies: 1
    Last Post: 3rd April 2012, 03:30 PM
  2. Icone pour Aide
    By ramalib in forum Install Creator and Patch Maker
    Replies: 4
    Last Post: 1st April 2010, 10:31 PM
  3. Aide pour mon interface
    By Forben in forum Multimedia Fusion 2 - Technical Support
    Replies: 1
    Last Post: 3rd February 2008, 10:45 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •