User Tag List

Results 1 to 3 of 3

Thread: Réallocation mémoire de l'EditData (suite)

  1. #1
    Gawen
    Guest

    Réallocation mémoire de l'EditData (suite)

    Suite du thread sur la réallocation de mémoire pour l'EDITDATA.

    Ci joint le projet VC++ et l'extension compilée. Les fichiers à regarder sont surtout Edittime.cpp et Main.h
    Attached files Attached files

  2. #2
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    14,022
    Mentioned
    279 Post(s)
    Tagged
    3 Thread(s)

    Re: Réallocation mémoire de l'EditData (suite)

    2 problèmes:

    1. La taille de la structure est stockée dans le header. La fonction realloceditdata change la taille dans le header, mais la fonction set appelée juste derrière remet l'ancienne taille. Quand la fonction se termine, MMF2 tronque la fin car il prend la taille qui se trouve dans le header.

    2. Il n'est pas possible d'utiliser des fonctions virtuelles dans une classe dérivée de la structure EDITDATA (le destructeur par exemple dans cet exemple) car dans ce cas le compilateur C ajoute un pointeur sur la table des fonctions virtuelles de l'objet en tête de structure, ce qui décale tout de 4 octets.

  3. #3
    Gawen
    Guest

    Re: Réallocation mémoire de l'EditData (suite)

    Merci beaucoup pour ces éclairements.

    Donc ce qu'il reste à faire, c'est de changer le champ size de l'entête et de rajouter 4 octets à la taille si on utilise des méthodes virtuelles.

    Ca paraît presque dérisoire comme explication quand on a passé 5 heures à chercher d'où ça vient [img]/epicentre/images/%%GRAEMLIN_URL%%/smile.gif[/img]

Similar Threads

  1. Réallocation mémoire de l'EditData
    By Gawen in forum Extension Developers Lobby
    Replies: 2
    Last Post: 2nd March 2007, 11:00 AM
  2. Animation(suite)
    By Atout66 in forum File Archive
    Replies: 10
    Last Post: 2nd March 2007, 10:36 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
  •