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 :

Passage d'un objet en paramètre à une fenêtre [WD14]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Passage d'un objet en paramètre à une fenêtre
    Bonjour à tous,

    Je souhaite passer un objet instancié en paramètre à une fenêtre.
    Exemple: j'ai une classe qui traite des plans de financements.
    Donc dans une fenêtre de type Table l'opérateur sélectionne l'objet.
    L'objet est donc instancié avec son id notamment.
    L'opérateur a alors la possibilité de créer-modifier-supprimer-imprimer.
    S'il choisit modifier, une méthode nomObjet:modifier est appelée. Cette méthode ouvre la fenêtre en modification.

    Je souhaite alors depuis cette fenêtre faire appel à des méthodes de la classe.

    J'ai essayé en passant l'objet en paramètre mais il retourne une erreur genre nomObjet n'est pas un objet.

    En fait je souhaiterai évoluer vers une vrai prog objet avec des méthodes qui manipulent des fenêtres, mais à chaque fois je plante sur le passage des objets.

    Quelqu'un aurait-il déjà tenté ce genre de fonctionnement ?

    Merci pour vos réponses.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Bonjour,

    Le code problématique svp.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 258
    Points : 12 927
    Points
    12 927
    Par défaut
    Bonjour,
    Si l'objet est dynamique, il suffit de déclarer dans la fenêtre un paramètre de type objet dynamique de la même classe, et passer le pointeur "objet" (l'équivalent de this) lors de l'appel de la fenêtre.

    Ainsi ta fenêtre manipule l'instance en question.

    Tatayo.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Complément 1
    Le code n'a que peu d'intéret dans ce cas.

    Il s'agit plus d'un problème de manipulation des objets sous windev.

    1/ j'instancie un objet dans une fenêtre table
    ex : nomObjet est un objet cFinance
    2/ dans le bouton "modifier" de cette même fenêtre j'appelle une méthode
    ex : nomobjet:modifier()
    3/ cette méthode ouvre la fenêtre fiche en modification, et depuis cette deuxième fenêtre je souhaite appeler d'autres méthodes de cette même classe cFinance sur l'objet nomobjet.
    4/ j'ai donc essayé de faire "transiter" le nom de l'objet en paramètre jusqu'à la seconde fenêtre, mais je n'y suis pas arrivé. Windev génère une erreur : l'objet déclaré dans la fenêtre précédente n'en est pas un.

    Observation: les objets sont instanciés dans la première fenêtre. Qu'entends tu par une instanciation dynamique : dans le même code tu penses déclarer l'objet dynamique, puis l'affecter avant l'appel de la méthode "modifier" ?

    Et qu'en est il du point de vue des ressources ? ne vaut-il pas mieux instancier en "dur" ? (j'ai lu le post concernant le pointeur mémoire et la zone mémoire allouée dans le cas de l'objet dynamique).

    Je vais essayer en dynamique, je vous tiens au courant.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 258
    Points : 12 927
    Points
    12 927
    Par défaut
    Citation Envoyé par ritchi46 Voir le message
    Observation: les objets sont instanciés dans la première fenêtre. Qu'entends tu par une instanciation dynamique : dans le même code tu penses déclarer l'objet dynamique, puis l'affecter avant l'appel de la méthode "modifier" ?
    Tout à fait.
    Citation Envoyé par ritchi46 Voir le message
    Et qu'en est il du point de vue des ressources ? ne vaut-il pas mieux instancier en "dur" ? (j'ai lu le post concernant le pointeur mémoire et la zone mémoire allouée dans le cas de l'objet dynamique).
    Que l'objet soit statique ou dynamique ne change pas grand chose de ce point de vue. Dans les deux cas tu as une instance de l'objet en mémoire.
    La seule différence est que l'objet existe:
    A la déclaration de la variable dans le cas d'un objet "statique"
    A l'instaciation dans le cas d'un objet dynamique

    Par contre du fait qu'on manipule des pointeurs, on peut les passer en paramètre à une fenêtre.
    Je l'ai fait dans un petit projet pour tester le databinding: j'ai un tableau dynamique d'objets dynamiques que je relie à une table (pour présenter une fenêtre de sélection d'article) et dans le double-clic sur une ligne de la table j'appelle une fenêtre (la fiche de l'article en question) en passant le pointeur de l'objet.

    Tatayo.

  6. #6
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 125
    Points : 158
    Points
    158
    Par défaut
    dans le code de modifier tu ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       ouvre(MaFenetre, objet)    // objet est equivalent au this de C++
    et dans le code de declaration globale de la fenetre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Procedure TrucMuche (MonObjet est un cFinance dynamique)
    Bob.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Suite
    Bonjour à tous et merci pour vos réponses :

    Execusez-moi pour le retard dans la réponse mais je suis débordé.

    Voici le code qui fonctionne selon vos conseils

    Dans la fenêtre table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PlanDeFinancement est un objet CfinanceVehic
    // affectation à l'objet créé de l'identifiant de l'objet traité
    PlanDeFinancement:idPlan = TABLE_VehicFinance.COL_IDVehicFinance
    //Appel de la méthode modifiePlan qui va ouvrir la fenêtre et procéder
    //à ce qui doit être fait en modif
    IF PlanDeFinancement:modifiePlan(PlanDeFinancement) THEN
    	// Rafraichissement de la table
    	TableAffiche(TABLE_VehicFinance,taCourantBandeau)
    FIN
    Observation que l'on déclare l'objet global ou pas ne change rien.

    Dans la classe CfinanceVehic
    la méthode modifiePlan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PROCEDURE modifiePlan(pointeurObjet est un objet dynamique CfinanceVehic)
    
    // Ouverture de la fiche du fichier VehicFinance en mode modification
    RENVOYER Ouvre(FinEntete_Fic, pointeurObjet)
    Par contre je n'ai pas bien compris la façon doit on doit s'y prendre pour passer un pointeur d'objet ? J'ai du mal à suivre l'objet, car à chaque fois par exemple dans l'ouverture de la fenêtre FinEntete_Fic il faut redéclarer la variable comme objet dynamique de la classe.
    Quelqu'un pourrait-il m'expliquer clairement ce fonctionnement ?

    En tout les cas encore merci à tous pour vos interventions.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Petite question pratique
    Comment faites-vous pour être informé aussi rapidement des questions windev.

    Que faut-il faire de particulier dans son profil pour s'abonner à ces discussions ?

    Merci

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 258
    Points : 12 927
    Points
    12 927
    Par défaut
    Citation Envoyé par ritchi46 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PROCEDURE modifiePlan(pointeurObjet est un objet dynamique CfinanceVehic)
    
    // Ouverture de la fiche du fichier VehicFinance en mode modification
    RENVOYER Ouvre(FinEntete_Fic, pointeurObjet)
    Par contre je n'ai pas bien compris la façon doit on doit s'y prendre pour passer un pointeur d'objet ? J'ai du mal à suivre l'objet, car à chaque fois par exemple dans l'ouverture de la fenêtre FinEntete_Fic il faut redéclarer la variable comme objet dynamique de la classe.
    Quelqu'un pourrait-il m'expliquer clairement ce fonctionnement ?
    Lorsque tu appelles ta procédure, tu lui passes tout simplement l'objet que tu veux manipuler. Vu ton code, je dirai PlanDeFinancement.

    Tatayo.

  10. #10
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 125
    Points : 158
    Points
    158
    Par défaut
    Tu te compliques un petit peu la vie, avec des paramètres en trop dans des méthodes.
    Tu devrais écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    PROCEDURE modifiePlan()    // Sans paramètre
       RENVOYER Ouvre(FinEntete_Fic, objet)
    // SI ca ne fonctionne pas, essai : RENVOYER Ouvre(FinEntete_Fic, &objet)
    Tu n'as pas besoins de repasser l'instance en paramètre en POO.
    Et donc pour l'appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    PlanDeFinancement est un objet CfinanceVehic
    
    PlanDeFinancement:idPlan = TABLE_VehicFinance.COL_IDVehicFinance
     
    IF PlanDeFinancement:modifiePlan() THEN
    	TableAffiche(TABLE_VehicFinance,taCourantBandeau)
    FIN

    Bob.

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 258
    Points : 12 927
    Points
    12 927
    Par défaut
    Ha oui, effectivement, je n'avais pas vu que modifiePlan est une méthode de la classe...

    Tatayo, qui va acheter des lunettes

  12. #12
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Saison, épisode 3
    Bob je ne comprends pas ton appel sans paramètre objet de la méthode.
    J'ai essayé avec les deux syntaxes et dans les deux cas il génère une erreur bien compréhensible pour moi : il ne connait pas l'objet au niveau de la méthode.
    Mais j'ai dû rater quelque chose quelque part puisque tatayo te suit (avec ses nouvelles lunettes )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROCEDURE modifiePlan()    // Sans paramètre
       RENVOYER Ouvre(FinEntete_Fic, objet)
    // SI ca ne fonctionne pas, essai : RENVOYER Ouvre(FinEntete_Fic, &objet)
    Que signifie l'argument objet ? parlons nous de la même chose ? D'où vient-il à ce niveau là ?

    Sinon la méthode précédente fonctionnait mais effectivement c'est un peu lourd au niveau de l'encodage.

    Je rappelle l'appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    planDeFinancement est un objet CfinanceVehic
    // Ouverture de la fiche du fichier VehicFinance en mode
    planDeFinancement:idPlan = TABLE_VehicFinance.COL_IDVehicFinance
    IF planDeFinancement:modifiePlan() THEN
    	// Rafraichissement de la table
    	TableAffiche(TABLE_VehicFinance,taCourantBandeau)
    FIN
    Où est le problème ?

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 258
    Points : 12 927
    Points
    12 927
    Par défaut
    Citation Envoyé par ritchi46 Voir le message
    Bob je ne comprends pas ton appel sans paramètre objet de la méthode.
    Comme tu utilises une méthode de classe, tu n'as pas besoin de lui donner l'objet concerné, vu que tu appelles une méthode de cette objet.

    Citation Envoyé par ritchi46 Voir le message
    Que signifie l'argument objet ? parlons nous de la même chose ? D'où vient-il a ce niveau là ?
    Objet représente le pointeur de l'objet en cours, l'équivement de this ou self dans d'autre langages.

    Est-ce que tu peux nous montrer la déclaration des paramètres de la fenêtre FinEntete_Fic ?

    Tatayo.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Suite
    Pour l'instant elle ne comporte rien
    Mais le problème se situe en amont dans la méthode "modifie", si j'utilise le pointeur visiblement il ne le gère pas comme un this ou alors il y a quelque chose qui m'échappe.
    Effectivement au niveau de la méthode, l'objet étant instancié ...
    J'ai lu dans la doc que l'équivalent du "this" était "objet" donc on en reviendrait à la situation précédente et le code un peu lourd que tu conseillais.

    Dans tous les cas l'objectif final est de faire de plus en plus objet avec windev (si possible, ça n'a pas l'air évident) et de regroupper tous les traitements dans les classes pour sortir des boutons (cela fait du code un peu partout difficile à entretenir).
    En détail l'idée est de déclarer en appel l'objet (en constructeur ou pas) , et de le passer aux méthodes afin de réaliser les traitements, ouverture, des fenêtre et autres.

    Donc comment peut on faire ça le plus simplement possible avec windev ?

    Généralement jusqu'à présent je ne redéclarais par les variables passé en paramètre, windev géré l'héritage du type appartenant à cette variable...
    Mais cela ne fonctionne pas pour les objets. C'est ce que j'essai d'élucider.

  15. #15
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 258
    Points : 12 927
    Points
    12 927
    Par défaut
    Citation Envoyé par ritchi46 Voir le message
    Pour l'instant elle ne comporte rien
    Mais le problème se situe en amont dans la méthode "modifie", si j'utilise le pointeur visiblement il ne le gère pas comme un this ou alors il y a quelque chose qui m'échappe.
    Effectivement au niveau de la méthode, l'objet étant instancié ...
    J'ai lu dans la doc que l'équivalent du "this" était "objet" donc on en reviendrait à la situation précédente et le code un peu lourd que tu conseillais.
    Et pourtant, c'est ainsi que ça fonctionne !
    J'ai fait un petit projet test pour voir ce que donne le DataBinding avec des objets:
    J'ai déclaré une classe Article, avec des propriétés publiques et des membres privés. Je n'ai pas mis de méthode, mais celà ne change rien à notre affaire.
    Dans une fenêtre, j'ai déclaré un tableau dynamique d'objet Article, que je relie à une table. Dans les propriétés de la table, j'ai indiqué que celle-ci renvoie l'objet sélectionné plutôt que l'indice de la ligne sélectionnée.
    Dans le code de double-clic de la ligne, j'ouvre une fenêtre pour afficher l'article sous forme de fiche.
    Dans le code, j'ai donc:
    Ouvre(FEN_FicheArticle,TabListeArticles[Table_Articles])

    Et dans la déclaration de FEN_FicheArticle:
    Procédure FEN_FicheArticle(ArticleCourant est un article dynamique)
    Et j'ai relié tous les champs de la fenêtre aux propriétés de l'objet ArticleCourant.

    Si j'avais mis le code d'ouverture dans une méthode de la classe (c'est d'ailleurs une idée à creuser), l'appel serait devenu:
    Ouvre(FEN_FicheArticle,objet)

    Bon, là je n'ai pas Windev à portée de main, mais c'est bien ce que j'ai compris de la documentation !

    Citation Envoyé par ritchi46 Voir le message
    Dans tous les cas l'objectif final est de faire de plus en plus objet avec windev (si possible, ça n'a pas l'air évident) et de regroupper tous les traitements dans les classes pour sortir des boutons (cela fait du code un peu partout difficile à entretenir).
    En détail l'idée est de déclarer en appel l'objet (en constructeur ou pas) , et de le passer aux méthodes afin de réaliser les traitements, ouverture, des fenêtre et autres.
    C'est un peu la voie que j'essaie de prendre en ce moment, avec en plus l'utilisation du Databinding.

    Tatayo.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Une solution testée
    Bonjour à tous,

    Voilà un petit bout de code résolvant le problème, largement inspiré des posts ci-dessus.

    Code appelant dans la fenêtre table source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    planDeFinancement11 est un objet CfinanceVehic
    // Ouverture de la fiche du fichier VehicFinance en mode
    planDeFinancement11:idPlan = 11
     
    planDeFinancement12 est un objet CfinanceVehic
    // Ouverture de la fiche du fichier VehicFinance en mode
    planDeFinancement12:idPlan = TABLE_VehicFinance.COL_IDVehicFinance
    IF planDeFinancement12:modifiePlan(planDeFinancement12) THEN
    	// Rafraichissement de la table
    	TableAffiche(TABLE_VehicFinance,taCourantBandeau)
    FIN
    La méthode Modifie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    PROCEDURE modifiePlan(planDeFinancement est un objet CfinanceVehic)
    // Ouverture de la fiche du fichier VehicFinance en mode modification
    RENVOYER Ouvre(FinEnteteEssai_Fic, planDeFinancement)
    L'ouverture de la fenêtre se fait sans problème
    dans le code d'ini de la fenêtre j'ai ajouté l'appel à une méthode essaiPourAppelObjet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PROCEDURE essaiPourAppelObjet()
    Info("l'appel est passé : " + :idPlan)
    qui renvoie l'id du plan pointé

    L'ensemble fonctionne correctement, et les méthodes manipulent les fenêtres, en partant des actions type cas d'utilisation en Uml ce qui était l'objectif.

    Qu'en penses-tu tatayo ? Vois-tu plus simple ?

  17. #17
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Comme dit précédemment, le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    planDeFinancement12:modifiePlan(planDeFinancement12)
    est maladroit dans la mesure où une méthode d'objet a par nature accès à l'objet, donc le passer en paramètre n'a pas d'intérêt.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Ok, mais comment
    Je suis d'accord avec toi sur le fond mais comment faire avec windev ?
    Comment fais tu pour qu'une méthode ouvre une fenêtre en lui passant l'objet courant ? (équivalent du fameux this)
    Si tu essais avec un pointeur, perso je n'ai pas réussi à faire fonctionner. Il génère une erreur de variable inconnu ou d'entier qui ne peut pas être un objet.

  19. #19
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Ce n'est peut être pas à la méthode d'ouvrir la fenêtre

  20. #20
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Objets ou pas ?
    Ce qui revient à abandonner la prog objet au sens uml du terme pour rester sur du procédurale et du code un peu partout dans les boutons entre autre.
    L'idée de départ étant de regrouper tout le code dans une classe.
    Prenons l'exemple d'un client : au lieu de manipuler des interfaces contenant le code, tu manipules des méthodes représentant des actions sur ce client: ajouter, modifer, rechercher, caMaxParClient, etc. C'est quand même plus puissant et plus facile à entretenir.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [WM18] Passage de paramètre à une fenêtre
    Par Neslon dans le forum Windev Mobile
    Réponses: 4
    Dernier message: 22/04/2014, 11h05
  2. [AC-2007] Passage d'un objet en paramètre
    Par guit21 dans le forum VBA Access
    Réponses: 8
    Dernier message: 12/07/2010, 11h26
  3. Passage d'un objet du jsp à une servlet
    Par lakhdharani dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 25/02/2009, 12h51
  4. Réponses: 6
    Dernier message: 12/01/2009, 15h57
  5. passage d'un objet en paramètre
    Par g30167 dans le forum C++
    Réponses: 2
    Dernier message: 14/12/2007, 23h25

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