Accueil > Forum > > > > Problème avec une variable statique
Problème avec une variable statique
mardi 24 juin 2008 à 10:03:59 |
Problème avec une variable statique

Zekk65
|
Bonjour à tous, Je vous expose en quelque lignes mon problème: J'ai une DLL (c++) appelée par un programme windev. Dans cette DLL, j'ai un première fonction qui récpuère une trame. D'autres fonctions viennent récupérer la partie de la trame qui leur intéresse. Toutes mes fonctions sont externes pour pouvoir être appelées par WinDev, j'ai donc besoin d'une variable dans laquelle je place ma trame récupérée dans la première fonctions, et qui va être réutilisée par les autres fonctions. A noter que mes fonctions s'exécutent dans un ordre bien précis (pas de risque donc qu'une fonction qui traite la trame soit appelée avant que la trame soit récupérée). On m'a conseillé de placer ma variable "trame" comme statique, chose que je ne maitrise pas donc si quelqu'un pourrait m'aider (variable de type strin). Merci à vous !
|
|
mardi 24 juin 2008 à 12:05:18 |
Re : Problème avec une variable statique

Zekk65
|
Pour apporter un peu de précisions :
J'ai créé une variable statique dans le .h en public comme ceci: " MaClass.h"
class CMaClass {
public: CMaClass(); ~CMaClass();
//Variables static int maVar; }; int CMaClass::maVar = 0;
Dans ma première fonction, il y a tout un traitement puis je retourne "CMaClass::maVar" et c'est la bonne valeur qui m'est affichée. Dans ma deuxième fonction, il y a juste un "return CMaClass::maVar" pour voir si il a gardé la valeur retournée dans la première fonction, et là il me retourne 0 (ou n'importe quelle valeur avec laquelle je l'aurais initialisé).
Quelqu'un aurait-il une solution pour garder la valeur d'une fonction à l'autre ?
Merci d'avance !!
|
|
mardi 24 juin 2008 à 12:33:51 |
Re : Problème avec une variable statique

luhtor
|
Oui une variable statique garde sa valeur n'importe ou dans le programme tant que tu n'as qu'un seul "contexte" mémoire ! Or avec une dll, c'est beaucoup plus complexe, car la dll a déja été linké, et la variable static "CMaClass::maVar" n'est pas la meme dans la dll et dans ton exécutable. Donc conclusion, n'utilises pas de variable static si elle est accessible de l'exécutable et de la dll.
|
|
mardi 24 juin 2008 à 13:52:30 |
Re : Problème avec une variable statique

Zekk65
|
Tout d'abord merci de ta réponse. Etant donné que ma dll n'est chargée qu'une fois par le programme hôte, ça ne rentre pas dans la condition de "un seul contexte mémoire" ?
J'ai bien compris que le fait que je sois "sous DLL" me restreint au niveau de mes variables, mais aurais tu une solution pour qu'une variable garde la valeur que je lui ai donnée entre deux fonctions exportées (la première récupère maVar, la deuxième doit traiter maVar) ?
|
|
mardi 24 juin 2008 à 19:53:38 |
Re : Problème avec une variable statique

luhtor
|
A priori, si tes deux fonctions dans la dll, il n'y aura pas de pb. Mais c'est la dll qui définir la valeur de ta variable. Mais a ta place, j'éviterais tout simplement les variables static dans ton cas.
|
|
mardi 24 juin 2008 à 20:27:37 |
Re : Problème avec une variable statique

Zekk65
|
j'ai l'alternative des Files que j'ai déjà testé, je voulais évité d'utiliser cette méthode, mais j'ai pas l'air d'avoir bcp d'autres solutions :)
|
|
mardi 24 juin 2008 à 22:08:57 |
Re : Problème avec une variable statique

luhtor
|
Mais j'ai du mal a comprendre pourquoi tu utilises une dll.
|
|
Cette discussion est classée dans : problème, variable, fonctions, trame, statique
Répondre à ce message
Sujets en rapport avec ce message
Problème de fonctions [ par sebastienbro ]
Voilà, j'ai créé une fonction Cryptage qui renvoi un type long pr savoir si il y a une erreur ou pas.J'aimerais savoir comment faire pour que la fonct
Variable partagée : semaphore ? [ par sena ]
Bonjour,j'ai deux fonctions.Une de ces 2 fonctions est un thread qui s'exécute toutes les 3 secondes.Ces 2 fonctions utilisent une même variable.je su
problème pour récupérer une variable [ par arwenita ]
Avec C++ Builder, je récupère une donnée et je veux l'afficher. Lorsque je le fais directement, ca marche :resultat->Lines->Text=cle1->Text.c_str();<
problème de variables globales répétées [ par KreIS ]
Alors voilà, mon problème est tout simple : imaginez qu'il y a un header qui contient une varible globale et plusieurs .cpp qui l'inclusent.le problèm
Problème de "tampon" [ par speeddo ]
Bonjour,je stock dans une variable de type Variant des données venant d'un autre logiciel. Ces données sont mis dans la dite variable grace à une fonc
scanf / printf avec variable char [ par domcergyitin95 ]
Bonjour, je début en C, et j'ai un problème que je n'arrive pas à résoudre, malgré que le reste du programme soit plus complexe et que ça tourne bie
Problème lorsque que je met une variable dans AfxMessageBox(nom_variable); [ par Gulius ]
Voila lorsque je met le nom d'un variable dans AfxMessageBox, et que je compile mon projet il n'y aucune erreur mais lorque je lance l'éxecutable, et
clrscr(); et gotoxy(); dans conio.h ? [ par laurentl2000 ]
Bonjour, Je suis débutant en C++ et j'ai pêché un cours sur Internet... Je suis au chapitre 2 sur 7... Voici mon problème : Je dois employer les fonct
Problème de création de dll !! (C++ Builder) [ par SibosisITS ]
J'ai la procédure d'entrée de la dll, j'ai écris mes fonctions, mais là ou je coince, c'est pour les arguments à mettre dans l'en-tête de mes fonction
administration [ par abirti ]
Bonjour, j'ai trouvé un problème dans l'utilisation des fonctions SNMP en particulier dans l'appel de ces fonctions un message d'erreur apparaît:"erro
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE [WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE[WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE par FREMYCOMPANY
Je pense qu'ils ont besoin d'une piqure de rappel chez Microsoft : c'est bien gentil d'avoir une interface jolie, mais si c'est pour avoir un truc qui ne convainct pas dedans, c'est peine perdue.
---->
Système ouvert ----> Fermé ?
P...
Cliquez pour lire la suite de l'article par FREMYCOMPANY
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|