Bonjour,

J'ai besoin de manipuler une ligne de code, en lui changeant des morceaux selon les cas, pour cela j'utilise des StringList.
Quand je récupère le contenu final de la StringList, je m'attends à ce qu'il soit exécuté, mais rien ne se passe, comme si c'était du texte et pas du code exécutable.
Voici un exemple simplifié:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
procedure TForm1.Button_TestClick(Sender: TObject);
var
  SL: TStringList;
begin
  SL := TStringList.Create;
  SL.Add('Windows.Beep(800, 500);');
  Memo1.Text := SL.Strings[0];
 
  SL.Strings[0];    // Ici, je récupère: Windows.Beep(800, 500); en espérant que ce code soit exécuté mais aucun son ne sort !
                    // Pourtant Memo1.Text me montre que SL.String[0] contient bien: Windows.Beep(800, 500);
  SL.Free;
end;
En pratique, c'est par exemple keybd_event(VK_NUMPAD0, MapvirtualKey(VK_NUMPAD0, 0), 0, 0); que j'utilise et qui n'est pas exécuté en sortie de StringList alors que si je l'écris directement, il l'est.

Si quelqu'un a la réponse, je le remercie d'avance.