Bonjour,
Pourriez vous me dire s'il vous plait si je suis dans le vrai ou dans le flou... Et si vous pouviez rectifier merci d'avance...
Est interdit (en tout cas dangereux) car :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm1.Button4Click(Sender: TObject); var P: PChar; begin P := 'Hello'; end;
-> On ne connait pas l'espace alloué où pointe P et on risque de faire un debordement de tampon (dangereux)
Par contre (en sachant que ici Pchar est vide), je peux faire ceci :
en vous remerciant d'avance... merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //1 allocation de la zone via GetMemory P:= GetMemory(5 * SizeOf(Char)); //2 Appel de la fonction p := 'Hello'; //(5 caractères ....)
Partager