Bonjours je poste ceci pour avoir des informations ...

j'ai deux code presque identique , un marche pas l'autre , et je voudrais savoir pourquoi .

1er code qui marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
procedure toto(calcul:string;var resultat:string);
begin
      bla bla bla ..
      resultat:=calcule(calcul) ;    
      bla bla bla ..
end;
 
Procedure EnvoieResultat;
var resultat:string
begin
      Bla Bla Bla..
      toto('1+1',resultat);
      Presultat:=Pchar(resultat);
end;
2eme code qui marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
var resultat:string
...
procedure toto(calcul:string);
begin
      bla bla bla ..
      resultat :=calcule(calcul) ;    
      bla bla bla ..
end;
 
Procedure EnvoieResultat;
begin
      Bla Bla Bla..
      toto('1+1');
      Presultat:=Pchar(resultat);
end;
entre les deux code la seule difference est la variable resultat qui est soit passé en parametre de retour , soit en globale.

quand je la passe en globale mon code marche , et pas quand elle est en parametre , et mes erreurs sont au niveau du transtypage String=>pchar
il aurait il une difference entre les deux declaration ?