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

WinDev Discussion :

Classes et contexte HF [WD14]


Sujet :

WinDev

  1. #1
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut Classes et contexte HF
    Bonjour,

    Est il possible d'indiquer qu'un classe a un contexte HyperFile indépendant (à l'image des états et fenêtres) ?

    En effet, j'aimerais ne pas avoir à faire des HSauvePosition() avant chaque fonction HyperFileSQL dans mes méthodes.

    Avez vous une autre solution à proposer ?
    Merci.
    Christophe.

    Tous les chemins mènent à Rome http://doc.pcsoft.fr/fr-FR/

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Je ne maitrise pas l'objet et encore moins sous windev. pour tes hsauveposition(), pourquoi ne pas créer un tableau d'entier et faire une procédure (méthode) pour sauver tout et une autre pour restaurer tout ?

    Je pense à ça car ça m'a fait penser au push et pop en assembleur x86.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Merci frenchsting, je garde ton astuce sous le coude mais dans le cas présent cela ne m'aide pas car le pb ce n'est pas le nombre de HSauvePosition() par méthode (généralement 1 ou 2 fichiers manipulés) mais le nombre de méthodes.
    Christophe.

    Tous les chemins mènent à Rome http://doc.pcsoft.fr/fr-FR/

  4. #4
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    Bonjour,

    Je n'ai pas saisi ce que fait votre classe mais si chacune de ses occurrences travaille sur un enregistrement dédié, je vous invite alors à brancher la classe sur non pas directement le fichier tel que proposé par WinDev mais en créant une connexion sur ce dernier par instance... via les sources de données.

    on pourrait créer un membre source de donnée et faire un hdeclareexterne dans chaque instance mais... Et là on touche à une limite de HyperFile/WinDev, la portée réelle des nom de source de donnée est globale et ne peut être donc créé deux fois en même temps. Oui, si la variable source de donnée à une portée propre, elle crée aussi une déclaration de fichier pour le moteur hyperfile... et cette déclaration à une portée globale et chaque fichier ne peut être décrit qu'une fois...

    Pour en revenir à votre problème d'avoir une source branchée sur le fichier pour chaque occurrence de votre classe, il faut un membre qui va créer un nom de source différent à chaque instance.
    A vérifier (je n'ai pas le temps) :
    :SourceNom = "SD"+Objet..nom // le nom de la source sera "SD" + le nom de l'instance de votre classe


    à partir de là vous pouvez faire votre hDeclareexterne(:SourceNom,<cheminphysiquedufichier>) et utiliser :Sourcenom à la place de votre nom de fichier... avec de l'indirection

    Ainsi, vous allez obtenir un contexte totalement indépendant par instance de classe.





    pour ce faire il faut déclarer un membre source de donnée qui aura donc la portée de votre seule instance

  5. #5
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Merci R&B,
    j'avais déjà pensé à cette solution dans le cas de liaison entre l'objet et le fichier qui contient les membres de l'objet.

    Dans mon cas, je vais plutôt utiliser des requêtes pour récupérer les "quelques" infos de fichiers "externes" sans modifier le contexte, je n'est pas de problème avec les fichiers de la classe car j'utilise deux méthode (lecture/écriture) qui se positionne systématiquement à l'aide d'un id unique et seuls les objets on accès aux fichiers.

    Seulement voila, ces objets sont utilisés dans du code procédural (voir pire, séquentielle, les procédures sont dépendantes, elles initialisent des variables globales , déplace les pointeur de fichier pour les procédures suivantes etc...) un cauchemar.

    Certaines méthodes de l'objet font donc appel aux autres fichiers de données de la base et si je ne fait pas attention, en modifiant le contexte, elles peuvent dérégler complètement le fonctionnement du prog.

    Un contexte Hf indépendant aurait été la solution miracle.
    Christophe.

    Tous les chemins mènent à Rome http://doc.pcsoft.fr/fr-FR/

  6. #6
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    [mode compation:on]
    Je suis désolé de cet état du programme
    [mode compation:off]

    Alors, des branchements ponctuels (dans le code des méthodes le nécessitant) de sources de données demeurent une très bonne solution.
    Il faut ensuite bien penser à libérer la source toujours dans lé méthode qui l'a déclarée.

    Bon courage

  7. #7
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Octobre 2004
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 254
    Points : 608
    Points
    608
    Par défaut
    C'était pas une nouveauté WD16 ou WD17 justement ?

    Citation Envoyé par wimbish Voir le message
    Bonjour,

    Est il possible d'indiquer qu'un classe a un contexte HyperFile indépendant (à l'image des états et fenêtres) ?

    En effet, j'aimerais ne pas avoir à faire des HSauvePosition() avant chaque fonction HyperFileSQL dans mes méthodes.

    Avez vous une autre solution à proposer ?
    Merci.

  8. #8
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Oui, merci Arnaud,

    ce n'est pas dispo en 14 mais dans une des version sup.

    La syntaxe à utiliser est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // Déclaration de la classe
    ClasseHyperFileSQLIndépendant est une classe, contexte HyperFileSQL indépendant
     
    FIN
    ou
    // Déclaration de la classe
    ClasseHyperFileSQLIndépendant est une classe
    <contexte HyperFileSQL indépendant>
     
    FIN
    Christophe.

    Tous les chemins mènent à Rome http://doc.pcsoft.fr/fr-FR/

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

Discussions similaires

  1. Ajout dynamique classe Entity contexte persistence
    Par bricecol dans le forum Persistance des données
    Réponses: 2
    Dernier message: 16/05/2012, 12h38
  2. Réponses: 7
    Dernier message: 19/01/2011, 21h07
  3. Static Context dans une classe non qualifiée
    Par JeanNoel53 dans le forum NetBeans
    Réponses: 4
    Dernier message: 17/11/2010, 18h00
  4. Réponses: 7
    Dernier message: 16/07/2009, 08h13
  5. rechargement contexte lors d'un changement de classe
    Par n00noors dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/08/2006, 17h21

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