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

Langage Delphi Discussion :

Problème libération d'un ole object!


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 58
    Points : 46
    Points
    46
    Par défaut Problème libération d'un ole object!
    Bonjour, je ne parviens pas à libérer un ole object.

    Voici le bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var symbolParc : IMosymbol;
    symbolParc := IMoSymbol(CreateOleObject('MapObjects2.Symbol'));
    ...
    if assigned(symbolParc)  then freeandnil(symbolParc);
    Mon freeandnil plante ...
    pourquoi ?

    Merci.

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut, si tu utilises une interface c'est le compilateur qui gére sa libération via le compteur de référence.

  3. #3
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    ... donc il te suffit d'assigner Unassigned à symbolParc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    symbolParc := Unassigned;

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 58
    Points : 46
    Points
    46
    Par défaut ben
    le unassigned ne fonctionnait pas ..."type incompatible variant et imopolygon"

    donc j'ai fait ça ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure Desinstincie_Un_Ole_Object(out MyoleObject: IMoPolygon);
    var VariantTampon: variant;
    begin
      VariantTampon := variant(MyoleObject);
      VariantTampon := unassigned;
      MyoleObject := nil;
    end;
    j'ai overload cette fonction 15 fois avec les 15 types différents car j'ai pas trouvé de type commun (Toleobject nexiste pas ...)

    Alors je sais pas si ma fonction sert a grand chose ... mais j'ai rien trouvé de mieux !

Discussions similaires

  1. Problème d'affichage avec OLE
    Par philippef dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/08/2006, 23h46
  2. Problème avec une classe... "without object"
    Par z980x dans le forum C++
    Réponses: 8
    Dernier message: 27/04/2006, 16h00
  3. microsoft project et OLE object
    Par ogenki dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 14/03/2006, 21h36
  4. Problème libération de mémoire?
    Par Bartuk dans le forum C
    Réponses: 7
    Dernier message: 28/12/2005, 17h20
  5. Réponses: 25
    Dernier message: 16/07/2003, 20h41

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