Manipulation par adresse
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
J'ai une application MDI, une fenetre contient un objet, et mon but est de modifier des parametres généraux de cet objet par une autre fenetre. L'autre fenetre étant tjrs ouverte, il faut impérativement que les deux fenetres pointes sur le meme objet. Or, une fois envoyé à la fenetre de parametrage, les objets sont dupliqué ("j'ai l'impression") Et du coup, Je suis obligé à chaque modification de la fenetre principale, de refaire pointer l'objet de la fenetre param sur le bon objet. C'est pas tres clair ce que je dis...
Je voulais savoir, si il existait un moyen comme en C, d'utiliser les pointeur sur objet ??
Et commnent les manipuler ?? (En effet l'aide de Windev sur la manipulation d'adresse ne concerne que les API windows...)
Voila en espérant avoir été clair, ok c'est pas gagné...

Contribution le : 25/06/2004 11:31
Créer un fichier PDF de la contribution Imprimer


Re: Manipulation par adresse
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
1- WinDev est évrit en C/C++
2- l'aide "Fenêtre, Manipuler une fenêtre dans un traitement W-Langage" contient la solution
3- une de mes dernières question (voir) a traité d'une partie du problème. Pas directement, je l'accorde, mais une fichue illustration si on arrive à suivre mon raisonnement.

.:()
MaMDI.MonOBjet:MaMéthode(param)

A condition évidement que la classe soit globale à la fenêtre !

C'est dans ce type de possiblité que réside la puissance de WinDev.
Ajouter un zeste d'indirection, des copeaux d'énumération et incorporer doucement les sources de données dans un plat à poo.
Mettre au four à 210 °C (termostat 7) pendant 1 heure et vous obtenez un code compact et adaptatif à son environnement d'éxécution.
Fini les projets où l'on a copié-collé des dizaines de fois les mêmes séquences de codes !

Contribution le : 25/06/2004 11:44
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Manipulation par adresse
Utilisateur WDF
Inscrit:
03/06/2004 14:31
De Bourgoin Jallieu (38)
Post(s): 52
Ok, jusque la, j'utilisais cette popote, avec un soupçon d'amertume en plus ;o)...
Mais j'ai déjà eu des problemes de déphasage entre les fenetres. Donc à chaque rafraichissement de la fenetres des parametres, je dois RE définir l'objet.
De plus, l'objet n'est pas un simple objet, il contient une foultitude d'attributs, de tableaux dynamiques d'objets(déphasage en question...), de methodes,...
Enfin c'est pas grave, je pense que le probleme est trop complexe pour etre résolu par forum. De plus, ma question avait plus pour but de m'aider à comprendre que de me débloquer, beh oui je ne l'était pas...
Bon en tous cas Merci bien R&B, Et je continu à croire que ce forum est très très mais alors très !! très intérressant !!
J'ai dit très très ??

Contribution le : 25/06/2004 12:08
Créer un fichier PDF de la contribution Imprimer


Re: Manipulation par adresse
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Salut,

J'ai déjà répondu à ce type de question dans un précédent post.

En Windev les paramètres sont passés par référence, cela signifie que c'est l'objet qui est passé en paramètre qui est modifié.

pour le passer par valeur cela veut dire que l'on ne veut pas que les modifications apporté sur l'objet passé en parammètre ne soit modifié il suffit de mettre le paramètre entre parenthèse.

Passage de paramètres

Lors de l'appel d'une procédure, les paramètres peuvent être :

passés par variable (par adresse). Si le paramètre est modifié dans la procédure, le traitement appelant la procédure récupérera le paramètre avec sa valeur modifiée. Pour passer un paramètre par variable à une procédure, utilisez la syntaxe suivante :

<Nom de la procédure>(<Nom de la variable passée en paramètre>)


passés par valeur. Si le paramètre est modifié dans la procédure, le traitement appelant la procédure récupérera le paramètre avec sa valeur NON modifiée. Pour passer un paramètre par valeur à une procédure, utilisez la syntaxe suivante :
<Nom de la procédure>((<Nom de la variable passée en paramètre>))


Donc pour moi le seul cas qui peut provoquer ce type de fonctionnement serait une programmation du type

Procedure MaFonction(pObjet)
oObj est un Objet MonObjet

oObj = pObjet


Cette méthode permet d'avoir la liste des méthodes et des membres de la classe en programmation mais ne modifie que l'objet en local oObj et pas pObjet.
On a ici en faite une copie de l'objet passé en paramètre

Pour appliquer les modifications apportées à l'objet oObj vers l'objet pObjet il faut faire une ré-affectation :
pObjet = oObj

Contribution le : 26/06/2004 01:02
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2