Merci pour l'explication.
Pour les ansistring, à priori ce sont des problèmes d'emplacement mémoire (mémoire interne à la dll)
Autre solution : les string ...
J'ai donc dans ma dll
1 2 3 4 5 6 7 8
| class testdll{
testdll(){};
int TestStr(string & refstr){
string tmp = "test valeur";
refstr = tmp;
return 1;
}
} |
Et dans mon application appelant ma dll :
1 2 3 4 5
| testdll * ptestdll;
ptestdll = new testdll();
string strtmp = "init";
int i = ptestdll->TestStr(strtmp);
delete ptestdll; |
A priori ça marche, mais je voudrais être sûr que ce code est bon et qu'il n'y a problème avec la mémoire ....
Quand je fais dans ma dll
string tmp = "test valeur";
Dans quelle mémoire la valeur tmp est stocké?
Et ensuite
Est ce que cet emplacement sera toujours accesible dans mon application appelante???
merci
Partager