Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/09/2006, 13h14   #1
Membre régulier
 
Inscription : décembre 2005
Messages : 177
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : décembre 2005
Messages : 177
Points : 85
Points : 85
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 :
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 !
Matth_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 13h22   #2
Membre éprouvé
 
Avatar de malbaladejo
 
Inscription : avril 2002
Messages : 377
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : avril 2002
Messages : 377
Points : 477
Points : 477
Un objet peut avoir la valeur nothing et rester un objet.
Il faut tester si l'objet vaut nothing :
Code :
1
2
3
if Not monObjet is nothing then
monObjet.Display param1,param2,param3
end if
malbaladejo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 13h45   #3
Membre régulier
 
Inscription : décembre 2005
Messages : 177
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : décembre 2005
Messages : 177
Points : 85
Points : 85
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 :
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.
Matth_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 13h59   #4
Membre éprouvé
 
Avatar de malbaladejo
 
Inscription : avril 2002
Messages : 377
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : avril 2002
Messages : 377
Points : 477
Points : 477
Je n'ai pas de réponse précise.
Je te livre juste ce que j'ai constaté.
Si tu fais :
Code :
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.
malbaladejo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 14h50   #5
Membre régulier
 
Inscription : décembre 2005
Messages : 177
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : décembre 2005
Messages : 177
Points : 85
Points : 85
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 !
Matth_S est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h31.


 
 
 
 
Partenaires

Hébergement Web