AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi [Gelöst] TStrings deffinieren und in Listbox Komponent laden
Thema durchsuchen
Ansicht
Themen-Optionen

[Gelöst] TStrings deffinieren und in Listbox Komponent laden

Ein Thema von Jessa · begonnen am 9. Mai 2006 · letzter Beitrag vom 9. Mai 2006
Antwort Antwort
Jessa

Registriert seit: 9. Mai 2006
7 Beiträge
 
#1

[Gelöst] TStrings deffinieren und in Listbox Komponent laden

  Alt 9. Mai 2006, 21:54
Ich habe die Idee mit dem Popup erstmal verworfen bis ich besser mit TStringlist klar kommen.

Nun möchte ich ein Programm schreiben was am anfang eine Datei abfragt und die Strings in TStringlist einfügt und von da aus in die listbox einfügt.

Doch bevor ich das machen kann muss ich erstmal einen TStringlist deffinieren, kein Problem doch will ich nun den TStringlist in die ListBox1 übertragen bekomme ich nur einen Fehler.

Erstmal muss ich es schaffen das man die Einträge über Edit1.Text in die TStringlist und dann von der der TStringlist in die ListBox1 läd.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
x := edit1.Text;
sl := TStringlist.Create;
try
sl.Add(x);
finally
sl.Free;
list1.Items.AddStrings(sl);
end;
end;

end.
So siehts derzeitig aus, doch ich bekomme nur einen Fehler.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: TStrings deffinieren und in Listbos Komponente laden

  Alt 9. Mai 2006, 21:56
Fällt dir an der Reihenfolge dieser beiden Codezeilen etwas auf:

Delphi-Quellcode:
sl.Free;
list1.Items.AddStrings(sl);
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: TStrings deffinieren und in Listbos Komponente laden

  Alt 9. Mai 2006, 21:59
Hi,
grundsätzlich: wenn ein Fehler auftritt, sag einfach was für ein Fehler. Beschleunigt die Lösungsfindung.

Allerdings ist bei dir schon direkt ersichtlich, warum es zu einer Zugriffsverletzung kommt:
Zitat:
Delphi-Quellcode:
{...}
    sl.Free
    List1.Items.AddStrings(sl);
Das Programm wird die Befehle in dieser Reihenfolge ausführen. Was passiert bei dieser Stelle? Zu erst wird deine Stringliste aus dem Speicher entfernt. Dann fügst du die Stringliste in etwas anderes ein. Problem: die Stringliste existiert gar nicht mehr.
Wenn überhaupt dann anders rum. Allerdings empfiehlt es sich die Zuweisung nicht in den finally-Abschnitt zu packen.

Chris
  Mit Zitat antworten Zitat
Jessa

Registriert seit: 9. Mai 2006
7 Beiträge
 
#4

Re: TStrings deffinieren und in Listbos Komponente laden

  Alt 9. Mai 2006, 22:12
*sich zu Boden schämt* Danke *ganz ganz leise*
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz