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

ASP Discussion :

Mon objet n'est pas détruit après Set monObjet=nothing ?


Sujet :

ASP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Pays-Bas

    Informations forums :
    Inscription : Décembre 2005
    Messages : 186
    Points : 133
    Points
    133
    Par défaut Mon objet n'est pas détruit après Set monObjet=nothing ?
    Bonjour,

    J'ai un probleme avec la destruction d'un objet, je fais bien
    Mais ensuite plus bas de le code je teste si il y a un objet ou pas avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if isObject(monObjet) then
    monObjet.Display param1,param2,param3
    end if
    le code dans le if est quand même executé apres la destruction de l'objet, car j'obtiens une erreur à la ligne "monObjet.Display param1,param2,param3" : "Objet requis"
    Je ne comprend pas ! Je détruis mon Objet, il est quand même reconnu par isObject et ensuite finalement il n'existe pas puisque il me dit "Objet requis" ???

    Pouvez vous m'expliquez à quoi cela est du ?

    Merci !

  2. #2
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Un objet peut avoir la valeur nothing et rester un objet.
    Il faut tester si l'objet vaut nothing :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if Not monObjet is nothing then
    monObjet.Display param1,param2,param3
    end if

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Pays-Bas

    Informations forums :
    Inscription : Décembre 2005
    Messages : 186
    Points : 133
    Points
    133
    Par défaut
    Merci pour ta réponse, ça résoud le problème du if qui est exécuté ; par contre peux tu m'expliquer "Un objet peut avoir la valeur nothing et rester un objet" (je viens d'autres langages alors l'instruction "Set unObjet=nothing" est quelque chose que je ne connaissais pas et visiblement j'en ai mal interpreté l'effet).
    Dis moi si je me trompe, mais lorsque l'on crée un objet en VBScript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set monObjet=new maClasse
    monObjet est un pointeur vers une zone mémoire qui contient l'objet ? (c'est ce que j'ai été amené a penser en instanciant un objet à partir d'un autre et en regardant si la modif d'un champ se repercutait sur les 2 objets).
    Si c'est bien le cas, que fait l'instruction Set monObjet=nothing ? elle ne détruit pas le pointeur mais le fait pointer vers un objet qui vaut nothing ?
    Si tu as 2 secondes pour m'expliquer ça, ce serait cool, parce que passer d'un language à un autre c'est facile mais après ça demande plus de temps de savoir réellement comment fonctionne le language est c'est nécessaire pour eviter les erreurs.

  4. #4
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Je n'ai pas de réponse précise.
    Je te livre juste ce que j'ai constaté.
    Si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write "IsObject : " & IsObject(nothing)
    La réponse est true.

    Le language Vbscript (asp) n'est pas un vrai langage objet.
    Il a certaine notions d'objet mais pas toutes.
    C'est vieux un langage avec des lacunes.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Pays-Bas

    Informations forums :
    Inscription : Décembre 2005
    Messages : 186
    Points : 133
    Points
    133
    Par défaut
    Ok merci pour ta réponse Ca explique déjà le résultat que j'ai obtenu. C'est vrai le VBScript n'est pas un vrai language objet (tout comme php avant la version 5), mais dans un cas comme dans l'autre ca reste bien utile de pouvoir utiliser des classes.
    Le problème est résolu, merci pour ton aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon code n'est pas interprété !
    Par korriganez dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 15h46
  2. erreur d'execution 3704, ...:objet n'est pas ouvert
    Par cari dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/11/2005, 15h44
  3. [C#]Quand mon objet axWebBrowser est-il supprimé ?
    Par Kcirtap dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/10/2005, 10h16
  4. VBA/xl/97 Msg L'objet n'est pas source d'événemt automation
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2005, 12h48
  5. Mon timer n'est pas prioritaire !!
    Par Hectorz dans le forum MFC
    Réponses: 9
    Dernier message: 09/02/2005, 12h57

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