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 07/11/2006, 18h53   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 3
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : septembre 2006
Messages : 3
Points : 1
Points : 1
Envoyer un message via MSN à tajikarao
Par défaut Class not defined

Bonjour,

j'ai cherché dans pas mal de forum et sites spécialisés, mais je ne comprends toujours pas ce qui m'arrive...

J'utilise un vieux serveur IIS (3.0), avec un Windows NT (c'est pas moi qui ait choisi).

En gros, j'ai une page HTML-ASP principale qui utilise une classe A (définie dans un fichier à part).
Pour cela, j'ai un include. J'initialise un objet et arrive à afficher des attributs (donc c'est censé marcher).

Mais ma classe A référence une autre classe B (définie dans un autre fichier), et cela crée un runtime error, class not defined (au moment du Set b = New B).

J'ai à peu près tout essayer :
inclure les 2 classes dans ma page principale
inclure ma classe B dans ma classe A
définir les classes A et B dans le même fichier
impossible de définir la classe B à l'intérieur de la classe A

Même si j'explique très bien, voici un exemple de code :

default.asp :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<html>
<head>
...
<!--#include file="A.asp"-->
...
</head>
<%
Dim a
Set a = new A
%>
<body>
affiche <% = a.attrib %>
</body>
</html>

A.asp :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<!--#include file="B.asp"--> '???
 
<%
 
<!--#include file="B.asp"--> '???
 
Class A
 
<!--#include file="B.asp"--> '???
 
public attrib
public b
 
Private Sub Class_Initialize()
  attrib = "coucou"
  set b = new B
end sub
 
...
 
end class
 
%>
B.asp :
Code :
1
2
3
4
5
6
7
8
 
<%
Class B
 
public attrib2
...
end class
%>
Je n'ai pas le temps d'utiliser b, l'erreur se produit au set.
Comme je l'ai indiqué, j'ai même essayé en remplaçant les include par la classe B entière.

Merci de me donner votre avis.

Remarque : le serveur IIS plante avec cette erreur, c-à-d que le service s'arrete, et qu'il faut le relancer. Je ne sais pas si c'est normal, mais en tout cas, c'est super fastidieux pour tester.

Est-ce lié à la version du serveur IIS ?

Dois-je tout recoder en utilisant des fonctions et des dizaines de variables globales au nom super long, pour remplacer les classes ?
tajikarao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 00h25   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Je ne suis pas fort en classes mais je ne comprend pas pourquoi tu inclus le fichier B plusieurs fois.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 09h43   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 3
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : septembre 2006
Messages : 3
Points : 1
Points : 1
Envoyer un message via MSN à tajikarao
J'ai mis des ??? en commentaire, pour montrer que je ne savais pas quel include était censé marcher.

J'ai tester plusieurs fois, en essayant de mettre le include à une place différente, et même en remplaçant le include par la classe B elle-même.

Mon problème est : pourquoi ça plante ?


Les seuls exemples que j'ai trouvés sont :
- définition d'un classe et exemple de code juste en dessous (pas de notion de fixhiers)
- include d'un fichier asp dans du code html-asp (mais pas de classe)

Pouvez-vous me donner un exemple propre d'utilisation de classes (dans diférents fichiers ou dans le même), avec des includes ?

Merci.
tajikarao est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h47.


 
 
 
 
Partenaires

Hébergement Web