wasaikos
Messages postés19Date d'inscriptionsamedi 3 novembre 2007StatutMembreDernière intervention24 juin 2008
-
23 juin 2008 à 17:07
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 2009
-
24 juin 2008 à 16:12
salut à tous j'ai besoin de vous
En effet je suis en train de créer une dll dans laquelle j'ai besoin d'une variable qui n'est jamais détruite car elle doit garder une valeur que j'ai besoin de réutiliser dans deux fonctions séparées.
Inutile de me parler de variables membres... j'ai déja essayé ... ;)
Si quelqu'un aurait une solution style variables globales en php ...
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 23 juin 2008 à 17:41
"Si quelqu'un aurait une solution style variables globales en php ..."
Quoi ??? Quel est le rapport avec php ?
Si tu as besoin d'une variable que tu pourras utiliser dans 2 fonctions à la fois, déclare la en globale.
Cependant, attention.
Cette façon de procéder peut demander des synchronisations. En effet, étant donné que c'est une dll, tu n'as donc pas de contrôle sur les threads de l'utilisateur.
Exemple, si tu utilises fonction1 sur thread1 et fonction2 sur thread2, il y a des chances pour que les 2 fonctions soient appelées "en même temps" et donc que la valeur de la variable soit modifier par, disons, fonction2 avant que fonction1 ait le temps de la traiter.
wasaikos
Messages postés19Date d'inscriptionsamedi 3 novembre 2007StatutMembreDernière intervention24 juin 2008 24 juin 2008 à 00:12
merci d'avoir répondu
mon problème vient du fait que je dois dans une première fonction stocker une trame en string puis depuis d'autres fonction appeler cette trame et retourner certaines parties je dois donc stocker cette trame pour que je puisse la rappeler a n'importe quel moment depuis ma dll
wasaikos
Messages postés19Date d'inscriptionsamedi 3 novembre 2007StatutMembreDernière intervention24 juin 2008 24 juin 2008 à 08:25
j'expose un peu plus précisément mon problème:
Fonction1: récupère une trame qui doit être sauvegardée dans une variable
Fonction2 : récupère le début de la trame
Fonction3 : récupère le milieu de la trame
Fonction 4: récupère la fin de la trame
Bref, la trame doit être stockée temporairement pour être utilisée par ces fonctions.
@SAKingdom : mes fonctions traitent la trame dans un ordre bien précis, et elles ne peuvent êtres appelées que dans cet ordre là ;)
merci de vos réponses.
ps: je vais tester "static"
Vous n’avez pas trouvé la réponse que vous recherchez ?
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 24 juin 2008 à 16:12
"@SAKingdom : mes fonctions traitent la trame dans un ordre bien précis,
et elles ne peuvent êtres appelées que dans cet ordre là ;)"
Ah ok. Ta dll est donc limité à n'être utilisée que sur un seul thread à la fois. Je considère aussi que tu ne souhaites pas redistribuer ta dll.
Dans le cas contraire, des synchros (peut-être pas (seulement) dans la dll cependant) et certaines sécurité face à l'utilisation de tes fonctions (l'ordre surtout d'après ce que je peux comprendre) s'imposes.