AGB  ·  Datenschutz  ·  Impressum  







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

XML - Zu viele Parameter

Ein Thema von MaM · begonnen am 27. Okt 2005 · letzter Beitrag vom 2. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
MaM

Registriert seit: 21. Jul 2005
19 Beiträge
 
#1

XML - Zu viele Parameter

  Alt 27. Okt 2005, 13:41
Moin,


ich habe eine Procedure welche folgenden Inhalt hat:

Delphi-Quellcode:
procedure TF_Hauptfenster.Add(XML_File: TStringList);
begin
  XML_File.Add(' <Holyday>');
  XML_File.Add(' <Date>'+Edit1.Text+'</Date>');
  XML_File.Add(' </Holyday>');
end;

Diese Procedure wird in einer nachfolgenden benötigt:

Delphi-Quellcode:
procedure TF_Hauptfenster.Button1Click(Sender: TObject);
var
  i: Integer;
  MyItem: TListItem;
  XML_File: TStringList;
begin
  XML_File:=TStringList.Create;

  MyItem:= LV_Aufgaben.Items.Add;
  MyItem.SubItems.Add(Edit1.Text);

  XML_File.Add('<Holydays>');
  For i:=0 to LV_Aufgaben.Items.Count-1 do
  begin
    Add(XML_File, i); ------------> Zu viele Parameter
  end;
  XML_File.Add('</Holydays>');}

  XML_File.SaveToFile(ExtractFilePath(Application.ExeName)+'test.xml');
end;
Ich bekomme folgende Fehlermeldung, in der markierten Zeile: Zu viele Parameter.
Wo liegt der Fehler, wie kann ich das Problem lösen?



MaM
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.640 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: XML - Zu viele Parameter

  Alt 27. Okt 2005, 13:43
Deine Funktion Add möchte nur eine Stringliste

Du willst Ihr eine Stringliste und ein i andrehen
Sven Harazim
  Mit Zitat antworten Zitat
MaM

Registriert seit: 21. Jul 2005
19 Beiträge
 
#3

Re: XML - Zu viele Parameter

  Alt 27. Okt 2005, 14:11
Zitat von sh17:
Deine Funktion Add möchte nur eine Stringliste

Du willst Ihr eine Stringliste und ein i andrehen
Und wie kriege ich es hin, dass ich ihr beides "andrehen" kann?


MaM
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#4

Re: XML - Zu viele Parameter

  Alt 27. Okt 2005, 14:18
Was würde das bringen? Du benutzt das i doch in der Prozedur gar nicht. Warum willst du es dann mit übergeben?
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
MaM

Registriert seit: 21. Jul 2005
19 Beiträge
 
#5

Re: XML - Zu viele Parameter

  Alt 27. Okt 2005, 14:24
Ok, dann anders.
Wenn ich einen Wert eintrage so steht er korrekt im ListView und auch die Datei wird gesichert.
Nur, trage ich einen 2. Wert ein, so wird ein neuer Eintrag in der XMl Datei eingefügt, jedoch der alte wird überschrieben (im ListView wird es richtig dargestellt).

----------------------
- <Holydays>
- <Holyday>
<Date>Edit2</Date>
</Holyday>
- <Holyday>
<Date>Edit2</Date>
</Holyday>
</Holydays>
----------------------

Was mach ich falsch?




MaM
  Mit Zitat antworten Zitat
MaM

Registriert seit: 21. Jul 2005
19 Beiträge
 
#6

Re: XML - Zu viele Parameter

  Alt 30. Okt 2005, 19:16
*schieb*



MaM
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: XML - Zu viele Parameter

  Alt 30. Okt 2005, 19:38
Hallo MaM,

wahrscheinlich bin ich nicht der einzige hier, der sich keinen rechten Reim auf deine Beschreibung machen kann.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#8

Re: XML - Zu viele Parameter

  Alt 30. Okt 2005, 19:43
Nun ja, auch wenn ich mir nicht ganz sicher bin, ob ich dich richtig verstanden habe, aber wenn du dir etwas überschreibst, liegt das doch wohl daran, das du die TStringList XML_File mit jedem Aufruf deiner Methode neu anlegst. Die enthält natürlich nicht mehr die alten Werte (und du müllst dir nebenbei bemerkt den Speicher zu). Die solltest du etwas globaler anlegen (also als Klassenvariable), im Create erzeugen und im destroy auch wieder Freigeben!
Jedenfalls dürfte das dein Problem sein, wenn ich dich richtig verstehe.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: XML - Zu viele Parameter

  Alt 31. Okt 2005, 09:31
Wenn ich genau lese, dann werden zwei Einträge erfolgreich einer ListView hinzugefügt. Nach dem Speichern als XML-Dokument findet man aber nur den ersten Eintrag in der Datei. Der gezeigte Code gibt das nicht her. Das Neuanlegen der StringList scheint in Ordnung zu sein, da die StringList ja nur temporär zum Aufbau des XML-Dokumentes und dessen Speicherung verwendet wird. Was man bemängeln sollte, ist das fehlende Free für die StringList - aber auch das kann nicht der Grund für das beschriebene Verhalten sein.

Grüße vom marabu
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#10

Re: XML - Zu viele Parameter

  Alt 31. Okt 2005, 10:12
Na ja, prinzipiell hast du recht mit
Zitat:
Das Neuanlegen der StringList scheint in Ordnung zu sein, da die StringList ja nur temporär zum Aufbau des XML-Dokumentes und dessen Speicherung verwendet wird
Aber wenn du dir den ganzen Code anschaust, dann siehst du dass in der Add einfach das genommen wird, was gerade in Edit1.Text steht. Also legt er i mal den Eintrag Edit1.Text an, der natürlich immer gleich ist. Also entweder nur ein add (ohne for-Schleife) und eine globale Stringliste, oder die Add so anpassen, dass nicht bei jedem add Edit1.Text eingetragen wird.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:20 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