new / delete & DLL [résolu] [Win32] - C++ - Programmation
Marsh Posté le 05-09-2005 à 09:33:05
fonctionner avec des "interfaces" : un plugin est une classe de type
Code :
|
puis une implémentation :
Code :
|
puis apres tu encapsule l'utilisation de tes plugins pour etre sur que le pointeur ne soit pas utilisé apres un appel a release
Marsh Posté le 05-09-2005 à 09:48:52
J'ai trouvé le problème.....
En fait on peut très bien :
- Appeler un new depuis une DLL,
- récupérer le pointeur dans l'EXE
- puis effectuer un delete.
Il faut juste appeler le delete avant de libérer la DLL (ReleaseLibrary) !
Marsh Posté le 05-09-2005 à 09:11:47
Bonjour,
je suis en train de développer un exe qui charge des plugins lors de son initialisation.
Chaque plugin est une DLL avec une fonction Run() qui me retourne un pointeur sur le résultat.
à chaque éxécution de la fonction Run d'un plugin depuis l'exe, le Result * est enregistré dans une liste
Lorsque l'application se termine j'effectue un delete sur chaque Result *
Le problème viens du fait que l'instance de l'objet Result est créée sous la DLL et que le delete est appelé sous l'exe.
Avez-vous une idée ?
Message édité par xtremdev le 05-09-2005 à 09:50:39