Conversion string > tstrings? [Delphi] - Delphi/Pascal - Programmation
Marsh Posté le 25-05-2004 à 23:47:02
Ça irait plus vite de dire où il n'y a pas d'erreur
Version propre "vite faite" (pour la découple on pourrait faire mieux, mais c'est pas simple, et avant que cette solution ne pose des problèmes on a le temps de voir venir) :
Code :
|
Tu ne peux pas libérer le TStrings sinon tu retournes un pointeur ne valant plus rien de concret.
C'est l'appelant qui doit le libérer.
Pour cette raison, en général l'appelant crée le TStrings et le passe en paramètre à une procédure (pas de valeur de retour donc).
Pour créer un objet, on appelle le Create de sa classe, pas de l'objet lui-même vu qu'il n'existe pas encore !
On ne crée jamais de TStrings. C'est juste une classe générique (par ex pour le type de paramètre passé à la procédure/fonction) de laquelle dérivent TStringList et autres similaires.
Ta version marcherait peut-être pour la découpe, mais j'ai pas le courage de réfléchir. À la limite après avoir corrigé le Create et le Free tu peux la tester.
Quand tu dis que ça ne marche pas, tu aurais pu dire que ça crashait avec une Access Violation (je suppose). "Ça marche pas" ce n'est pas une erreur acceptable
Marsh Posté le 26-05-2004 à 20:28:05
Oui, dsl, je sais que c'était un peu vague, mais Delphi me sortait directement la fenêtre de débogage, j'étais un peu perdu... Encore une fois, je m'en suis sorti avec tes indications, merci
Marsh Posté le 25-05-2004 à 20:41:40
Bonsoir,
J'essaie de faire une fonction qui convertit une string en TStrings, les éléments à insérer dans TStrings étant séparés par des ; dans string.
Voilà ce que j'ai fait:
gauche et droite servent à extraire les sous-chaines délimitées par le ;
Quelqu'un peut me dire pourquoi ça ne marche pas? Je suis pas assez doué pour voir mon erreur là...
Merci
Message édité par Ipso le 25-05-2004 à 20:42:07