AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ini Dateien - ReadSections

Ein Thema von Destroyer446 · begonnen am 22. Jul 2011 · letzter Beitrag vom 22. Jul 2011
Antwort Antwort
Destroyer446

Registriert seit: 17. Jan 2011
67 Beiträge
 
#1

Ini Dateien - ReadSections

  Alt 22. Jul 2011, 13:07
Ich habe mir eine Funktion gemacht um ´Datums´ aus einer ini zu lesen.
Die ´Datums´ sind die Sections also die [Section] im Format [01.01.2011].
Ich will alle ´Datums´ in eine TStringList laden.
Der gibt mir hier aber ein ´AccesViolation´ Error.
Was ust da Falsch?
Delphi-Quellcode:
function TZeit.LadeDatums: TStringList;
begin
 Ini.ReadSections(Result);
end;
Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Ini Dateien - ReadSections

  Alt 22. Jul 2011, 13:11
Existiert das Ini-Objekt? Existiert das StringList-Objekt? Das sind alles Fragen, die man schon vorher mit dem Debugger überprüfen kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ini Dateien - ReadSections

  Alt 22. Jul 2011, 13:38
Zitat:
Existiert das StringList-Objekt?
Bei der Ini weiß man es nicht, aber die TStringList existiert garantiert nicht.
Der Objektzeiger (Result) zeigt nur zufällig sonstwo hin, da er nichtmal initialisiert ist, was der Compiler eigentlich auch bemängeln sollte.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Ini Dateien - ReadSections

  Alt 22. Jul 2011, 13:53
ReadSections gibt TStrings zurück.

Delphi-Quellcode:
function LadeDatum: TStrings;
begin
  Ini.ReadSections(Result);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  SL: TStringList;
begin
  Ini:= TIniFile.Create( .. );
  SL:= TStringList.Create;

  SL.AddStrings(LadeDatum);

  ...
 
  SL.Free;
  ini.Free;
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#5

AW: Ini Dateien - ReadSections

  Alt 22. Jul 2011, 14:18
ReadSections gibt TStrings zurück.
Nein, gibt es nicht.
Es befüllt eine vorher "existierende" Stringliste.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#6

AW: Ini Dateien - ReadSections

  Alt 22. Jul 2011, 14:22
Delphi-Quellcode:
function TZeit.LadeDatums: TStringList;
begin
 Ini.ReadSections(Result);
end;
Man sollte auf Funktionen verzichten, die ein Objekt erzeugen und zurückliefern. Es ist meist nicht klar, wer das Objekt dann wieder abräumt. Generell sollte man darauf achten, wer ein Objekt erzeugt, der sollte es auch wieder freigeben.

Delphi-Quellcode:
procedure TZeit.LadeDaten(const List: TStrings);
begin
  Ini.ReadSections(List);
end;
und dann irgendwo

Delphi-Quellcode:
myList := TStringList.Create;
try
  zeit.LadeDaten(myList);
  tuWasMitDaten(myList);
finally
  myList.Free;
end;
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Ini Dateien - ReadSections

  Alt 22. Jul 2011, 14:28
ReadSections gibt TStrings zurück.
Nein, gibt es nicht.
Es befüllt eine vorher "existierende" Stringliste.
So ist es.

Delphi-Quellcode:
procedure TMemIniFile.ReadSections(Strings: TStrings);
procedure TCustomIniFile.ReadSections(const Section: string; Strings: TStrings);
procedure TIniFile.ReadSections(Strings: TStrings);

Geändert von Bjoerk (22. Jul 2011 um 14:45 Uhr)
  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 14:49 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