Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Portée des variables [ Divers / General ] (thonyboy)

vendredi 12 septembre 2008 à 11:58:55 | Portée des variables

thonyboy

Bonjour

J'ai un peu de mal avec la portée des variables et j'aimerais que l'on m'éclaire un peu

Je fais un ptit prog qui charge une base Nom + Prenom et qui l'affiche dans un DataGrid.
Comme j'ai besoin d'accéder a ma table depuis plusieurs procédures, je l'ai déclaré en dehors des procédures.
J'ai cru comprendre que c'est comme ca qu'il fallait faire.... (voir bout de code ci dessous)

Ce qui me choque c'est que si je met un point d'arret en debug sur la ligne de déclaration de la table par exemple  (Public Table3 AsNew DataTable) je constate que chaque fois que je clique sur une ligne de ma datagrid, je passe par ce point d'arret !!!! et franchement je ne comprend pas la raison.

Du coup je me dit que a chaque fois que je clique sur un enregistrement je redéclare ce qui est déjà déjà déclaré ?

Bref j'aimerais bien comprendre, ou alors ce n'est pas comme cela que j'aurais du faire ?

D'avance merci


Partial

Class Default4

Inherits System.Web.UI.Page

Public Data3 AsNew DataSet()
Public Table3 AsNew DataTable
Dim Nom AsNew DataColumn("Nom", GetType(System.String))
Dim Prenom AsNew DataColumn("Prénom", GetType(System.String))



Protected
Sub ListeUtilisateurs() 'Procédure qui rempli ma table
  
If Data3.Tables.Count > 0 Then
     
Data3.Tables(0).Clear()
  Else
 Table3.Columns.Add(Nom)
 Table3.Columns.Add(Prénom)
 Data3.Tables.Add(Table3)
EndIf
 'Etc Etc Etc ensuiste je le met l'affiche sur un data grid
'
End Sub

 


vendredi 12 septembre 2008 à 14:21:47 | Re : Portée des variables

PCPT

Administrateur CodeS-SourceS
Salut,
même s'il est probable que les réponses soient les mêmes, ton code ressemble plus à de l'ASP.NET qu'à du VB.NET

dans quel cas tu n'es pas sur le bon site

http://www.aspfr.com/

Prenez un instant pour répondre à ce sondage svp

vendredi 12 septembre 2008 à 19:32:09 | Re : Portée des variables

Kevin.Ory

Salut,
Dans ce code, Public Table3 AsNew DataTable est appelé à chaque fois que tu initialise une instance de ta classe Default4

Dans une méthode, seul Dim est autorisé. Une variable locale déclaré avec Dim n'est accessible que dans le bloc de déclaration. C'est à dire que si elle est déclaré dans un If.. End If, elle ne sera pas accessible hors du If... End If

Hors d'une méthode, on peut déclarer:
Private (= Dim): Accessible seulement dans la classe
Friend : Accessible dans le projet
Public : Accessible hors du projet (les classes publiques d'une DLL par exemple)


Si tu veux que plusieurs instances de ta classe Default4 utilisent une même variable (par ex Table3), déclare la Shared. Shared sert à déclarer une méthode/variable statique, une seule de ces variable sera créé, même un programme hors de ton projet utilisera le même objet statique. Shared peut être combiné avec Private, Friend ou Public.



vendredi 12 septembre 2008 à 20:41:04 | Re : Portée des variables

thonyboy

Bonsoir Kevin.

Déjà merci pour ta réponse qui m'éclaire un peu plus.

Mais que veux tu dire par plusiers instances de ma classe defaut 4

 

Mon idée est simple sur mon serveur IIS j'ai cette petite appli qui affiche un DataGrid avec des données. Les utilisateurs peuvent cliquer sur une ligne de ce datagrid, en dessous d'affiche l'enregistrement complet qu'ils peuvent modifier.

(Le data grid est une table en mémoire chargée a partir d'un fichier Csv)

Voila rien de bien compliqué... A lors quellle est la philosophie pour déclarée cette table et ce dataset ?

D'avance, encore merci


vendredi 12 septembre 2008 à 21:20:39 | Re : Portée des variables

Kevin.Ory

Réponse acceptée !
"Mais que veux tu dire par plusiers instances de ma classe defaut 4"
Par exemple, Windows.Forms.Button est une classe
Dim Obj As New Windows.Forms.Button
Obj est une instance de Button. Autrement dit, à chaque fois que tu appels le constructeur (New) tu initialises une nouvelle instance. Si tu as plusieurs boutons sur un formulaire, tu as donc plusieurs instance de la classe Button. Même chose pour ta classe default4.

Elle représente quoi ta classe default4? Ta plage principale je suppose? Et lorsque tu clique sur un élément de ta liste, la page est rechargé pour afficher le changement non? Et donc ta Table3 est recréée

Pour le projet entier, je sais pas trop, je ne fais pas d'ASP ni de base de donnée...



samedi 13 septembre 2008 à 07:08:12 | Re : Portée des variables

thonyboy

Merci beaucoup pour toutes ces infos.



Cette discussion est classé dans : variables, portée, asnew, data3, table3


Répondre à ce message

Sujets en rapport avec ce message

portée de variables en VB (pour Word) [ par MATHOD ] Bonjour,je cherche à avoir une variable ayant une portée la plus grande dan un projet qui contient pls .docà partir d'un document, j'ouvre un second ( portée des variables pour ocx [ par pHoEnIxFuRy ] J'ai crée un ocx que j'utilise avec des pages web et qui me sert à imprimer des étiquettes en ligne.Cette ocx récupère les variables à imprimer avec l [VB.NET] Probleme de variables [ par pinggu ] Bonjour, J'ai un petit souci de variable. Je dois réaliser une appli en vbnet qui corrige qui calcule des scores à partir d'un questionnaire et édit PB de variables [ par 12_darte_12 ] Bonjour a tous Dim maj As String Dim chi As String J'ai essayer de faire ca pour mes variables, mais le probleme c'est que ca me met en erreur et j Visibilité du contenu des variables VB.NET [ par sacha1435 ] Bonjour,Nouveau en VB.Net ex VBA ....En VBA pour voir le contenu des variables j'ouvre la fenêtre "local", en VB.net je vois la fenêtre local mais ell tableau [ par raph_lachat ] Bonjour, Je voudrais sommer les lignes et colonnes d'un tableau dépendant de 2 variables Le tableau s’appele matrice(99,99) et peut contenir n lignes probleme de declaration de variables de classe [ par poat ] Je vais essayer d'etre le + clair possible. J ai besoin de creer la classe suivante pour pouvoir utiliser les collections:Public nomTache       As Str Tableaux de variables de sessions [ par kepi ] Bonjour,Est il possible d'utiliser un tableau de variable de session ?Sinon peut-ton definir dyna miquement le nom des variables de session ?J ai un p Problème avec des variables [ par arkandias ] Là, je vais sûrement paraître très bête mais ça fait 2 mois que je fais de la programmation et je n'au toujours pas eu besoin d'un truc élementaire... concatenation de "noms" de variables [ par beub ] bonjour , Une petite question concernant les variables : j ai une serie de variables ayant le meme nom mais un suffixe different : ex : var1, var2, va


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.