Fonction result TStrings [Résolu]

florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 5 août 2004 à 19:40 - Dernière réponse : florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention
- 6 août 2004 à 15:36
Imaginez une fonction tres simple :

function Transfert(memo : TMemo) : TStrings;
var
i : integer;
begin
for i:=0 to memo.Lines.Count - 1 do
result.Add(memo.Lines.Strings[i]);
end;

lors de la compilation OK mais lorqu'on l'appelle il y a violation d'acces
L'erreur se passe sur la ligne

result.Add(memo.Lines.Strings[i]);

J'avoue que je n'y comprends rien
Ceci est un exemple je sais qu'il y a plus simple pour faire ceci.
Please help me !!!!!!!!!!!!

Avis au(x) mewmaster(s) : Il est impossible de mettre du code dans une question ni de mettre un smiley

Si tu ne te plantes pas ......
tu ne poussera jamais
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 5 août 2004 à 22:58
3
Merci
Question particulièrement intéressante, on est comme qui dirait dans le coeur d'un sujet sensible et délicat...

Je ne suis pas assez expert pour tout expliquer, en particulier ce qui différencie TStringList et son ancêtre TStrings, ainsi que leurs emplois respectifs.

Je me contenterai de te soumettre le code suivant :

function Transfert(Memo: TMemo): TStrings;
var
  i: Integer;
begin
  Result := TStringList.Create;
  for i := 0 to memo.Lines.Count - 1 do
  Result.Add(Memo.Lines.Strings[i]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Assign(Transfert(Memo1));
  Transfert(Memo1).Free;
end;


Intéressant, n'est-il pas ?

Bonne prog' :-p

Merci japee 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de japee
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 6 août 2004 à 15:36
0
Merci
Merci .

il n'empeche que je ne comprends pas pourquoi la 1ere facon ne fonctionne pas.

Si tu ne te plantes pas ......
tu ne poussera jamais
Commenter la réponse de florenth

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.