![]() |
Combox füllen
Hallo Zusammen
oder besser HILFE! Bin ziemlich am verzweifeln. Schreibe zur Zeit an einer App diese soll bei Start Daten (in Form eines XML-Streams) holen und in eine Combox packen. Hat am Sonntag auch funktioniert. -Heute nicht mehr :cry: obwohl ich nichts geändert habe. Beim Starten der App im Emulator kommt sie nur bis zum füllen und stürzt dann ab. also in Ersten Form rufe ich diesen Code auf:
Delphi-Quellcode:
die showmessages habe ich verwendet um zu sehen wie weit er kommt.
procedure TFProbenbearbeitung.FormActivate(Sender: TObject);
begin showmessage('hier'); FillCombox(cbmethode); showmessage('nachher'); end; das FillCombox kommt aus einem anderen Unit:
Delphi-Quellcode:
Am Auslesen des XMl-Streams kann es nicht liegen, dies habe ich getested, und funktioniert. Auch funktioniert das
procedure FillCombox(cb: TCombobox);
var s: TMemorystream; str: TStringstream; a, p: string; y, i: integer; xm: IXMLDocument; Node1 : IXMLNode; begin str := TStringstream.Create; a := ('4' + '|'); p := ('http://127.0.0.1/' + a); s := DataModule1.GetXMLData(p); s.Position := 0; str.LoadFromStream(s); if xm = nil then xm := newXMLDocument else xm.XML.Clear; xm.LoadFromXML(str.DataString); with xm.DocumentElement do begin for y := 0 to ChildNodes.Count-1 do begin Node1 := childnodes[y]; for i := 0 to Node1.ChildNodes.Count-1 do begin cb.items.add(Node1.ChildNodes.Nodes[i].GetAttributeNS('TXT_Methode','')+'|'+ Node1.ChildNodes.Nodes[i].GetAttributeNS('INT_MethodeID','')); end; end; end; end;
Delphi-Quellcode:
dessen Inhalt zeigt er mir in einem showmessage an und dann stürzt die App ab.
cb.items.add()
Jetzt weiss ich einfach nicht mehr weiter hoffe jemand hat eine Idee. Zumal das Ding am Sonntag ja noch funktioniert hat. Wenn ich das
Delphi-Quellcode:
auskommentiere läuft die Chose ohne Problem...
FillCombox(cbmethode);
|
AW: Combox füllen
Fangen wir mal damit an, dass du vermutlich ein Speicherleck hast. Zumindest sehe ich nirgendwo ein FREE. Deshalb empfehle ich auch immer ein TRY FINALLY zu nutzen. Da fällt sowas immer direkt auf, es ist dann fast unmöglich ein FREE zu vergessen.
|
AW: Combox füllen
Hallo,
ich würde jetzt mal nicht vermuten, dass das Problem an einem Speicherleck liegt. Speicherleck mögen lästig sein, haben aber grundsätzlich keine negativen Auswirkungen auf das Programm. Ich würde vermuten, dass das Problem am Einlesen der XML liegt. Am Sonntag hat das Einlesen noch funktioniert, heute nicht mehr. Du liest vom Localhost eine Datei, was hast du seit Sonntag an deinem Localhost verändert? Irgendeinen Dienstprozess nicht gestartet, der die XML zurückliefert? mfg frank |
AW: Combox füllen
Hi, Danke für die schnellen Antworten.
@frankyboy1974: Die IP habe ich fürs Forum angepasst. Ich arbeite sonst mit der IP meines PC's die er vom Router erhalten hat. Funzt auch, solang die App eine korrekte IP hat. -Aber das ist ein anderes Problem. Egal. Daran kanns nicht liegen. Dieses Client-Serverding hab ich getestet. Die XML wird korrekt zurückgliefert. Ich denke es muss am Befüllen der combox liegen... Update. Habs gerade nochmals probiert. Und wer glaubts, es funktioniert wieder!!! -Ich hab wirklich nichts geändert... Vielleicht lags einfach nur am AVD, obwohl ich den heute schon x-Mal neu gestartet habe. Danke für die Antworten und @Popov: Ja, hatte ich noch vor einzubauen... Gruss Seph |
AW: Combox füllen
OK zu früh gefreut.
-nichts geändert, nochmals Compiliert und schon ist das Problem wieder da. :cry: Noch eine Idee? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz