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

VB.NET Discussion :

Gestion de variables et multi forms [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Points : 56
    Points
    56
    Par défaut Gestion de variables et multi forms
    Bonjour à tous,

    J'ai une application qui est faite de trois grosses parties de plusieurs Forms chacune.

    Je veux charger au démarrage des variables communes à toutes les parties (c'est fait dans un module - tronc commun).
    Puis on fonction de la partie utilisée, charger les variables nécessaires à tous les Forms de cette partie, et surtout pouvoir décharger ces variables si l'utilisateur va sur une autre partie.

    J'avais pensé à créer une classe de déclaration de variables pour chaque partie que j'appelle au chargement de chaque partie spécifique.
    Mais du coup, quand j'utilise mes variables, j'ai des noms à rallonge (pas pratique).
    Ou alors je passe les variables dans chaque Forms de ma partie, mais j'ai beaucoup de variables à passer.

    Je ne peux pas utiliser non plus un module spécifique à chaque partie, car il se déchargera qu'à l'arrêt de l'application et non à la fin de partie.

    Du coup, j'ai pensé au multi thread. Je ne connais pas mais je crois que c'est plusieurs thread dans une application.
    Et du coup, je pourrai charger les modules par thread et les killer en fermant le thread.
    C'est possible de faire cela ? Si oui, je me document sur le multi-thread.

    Merci à tous pour vos aides.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 150
    Points : 25 066
    Points
    25 066
    Par défaut
    les threads ce n'est pas la bonne piste
    c'est fait pour charger des trucs longs sans bloquer l'interface graphique (donc déjà vers 500ms ca peut etre utile)

    après je ne comprends pas trop ta description
    un module c'est bien, ca sert en effet à y mettre des choses utiles à plusieurs choses
    tu peux faire plusieurs modules par thème
    après vu que le but d'un module c'est d'avoir des choses partagées, si un form se ferme et qu'un autre a encore besoin des données ce n'est pas le bon moment pour décharger

    il est possible de faire des choses qui se chargent dès qu'il y a besoin, et de décharger quand ca n'a pas été utilisé pendant un lapse de temps
    enfin faut voir pourquoi tu veux décharger des choses ?
    parce que tant que c'est pas des collections de plusieurs millions de lignes ca ne consomme rien en mémoire...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Points : 1 876
    Points
    1 876
    Par défaut
    Citation Envoyé par Krys9292 Voir le message
    charger les variables nécessaires à tous les Forms de cette partie, et surtout pouvoir décharger ces variables si l'utilisateur va sur une autre partie.
    Je ne comprends pas le sens de cette demande. J'ai l'impression qu'on parle de variables globales en fait.
    Cela me conduit à penser qu'il y a un problème de conception, ou de scoping des variables tout simplement, et un manque d'isolation et une mauvaise intégration entre ces différentes parties de l'application.

    Ce serait peut-être bien de détailler de manière un peu plus concrète avec du code.

    Citation Envoyé par Krys9292 Voir le message
    Ou alors je passe les variables dans chaque Forms de ma partie, mais j'ai beaucoup de variables à passer.
    Je trouve ça suspect aussi. En général on ne passe pas des dizaines de variables à un form, mais plutôt une structure, un enregistrement de DB éventuellement, sous la forme d'un objet composite.

    Je n'ai pas vu le code, mais si c'est ce que je pense je crois qu'il sera préférable de restructurer en profondeur, et structurer proprement, plutôt que poser des rustines qui vont elles-mêmes poser d'autres problèmes.

  4. #4
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2022
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2022
    Messages : 76
    Points : 56
    Points
    56
    Par défaut
    Merci de vos réponses à tous les deux,

    En fait, je ne peux pas mettre de code, pour moi ça n'a pas de sens, à par des déclarations de variables...
    Le reste ferait des dizaines de pages de forum.

    Juste le concept, c'est pour cela que je pose la question ici.
    Parce que je me dis qu'il faut peut-être une restructuration justement.

    Le problème avec les modules, c'est qu'ils ne se déchargent pas avant la fin de l'application.
    Après, comme dit Pol63, peut-être que cela ne sert à rien car l'incidence sur la mémoire est quasi nulle.

    C'est vrai que je cherche peut-être trop à optimiser, parfois pour pas grand chose...
    A l'origine, j'avais tout mis dans un module, basta.
    Puis, je me suis dit, ce n'est pas très propre, on peut peut-être optimiser un peu la gestion de mémoire.

    Voilou, voilou.

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 150
    Points : 25 066
    Points
    25 066
    Par défaut
    l'optimisation ca vient quand tout marche et qu'on voit un truc qu'il faut optimiser (soit une consommation de mémoire trop importante, soit des délais trop importants, soit une surconsommation cpu)

    1000 strings de 30 caractères ca fait moins de 100ko, alors qu'on a des Go de ram... donc les int et autre ca consomme rien
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. multi Form pour gestion d'interface utilisateur
    Par mamouth81 dans le forum C++Builder
    Réponses: 8
    Dernier message: 19/12/2007, 19h08
  2. Récupérer variables d'1 <form> et les utiliser dans X
    Par honeyz dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 20/04/2006, 12h39
  3. [Delphi.net] : Gestion multi form
    Par PH69 dans le forum Delphi .NET
    Réponses: 5
    Dernier message: 20/03/2006, 23h04
  4. Méthode optimale gestion nombre variable items?
    Par fredtheman dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 14/08/2004, 21h19
  5. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 13h44

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