AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Combox füllen

Ein Thema von sephraina · begonnen am 23. Jun 2015 · letzter Beitrag vom 23. Jun 2015
Antwort Antwort
sephraina

Registriert seit: 17. Feb 2015
36 Beiträge
 
Delphi XE7 Professional
 
#1

Combox füllen

  Alt 23. Jun 2015, 13:45
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 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:
procedure TFProbenbearbeitung.FormActivate(Sender: TObject);
begin
    showmessage('hier');
    FillCombox(cbmethode);
    showmessage('nachher');
end;
die showmessages habe ich verwendet um zu sehen wie weit er kommt.
das FillCombox kommt aus einem anderen Unit:

Delphi-Quellcode:
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;
Am Auslesen des XMl-Streams kann es nicht liegen, dies habe ich getested, und funktioniert. Auch funktioniert das cb.items.add() dessen Inhalt zeigt er mir in einem showmessage an und dann stürzt die App ab.

Jetzt weiss ich einfach nicht mehr weiter

hoffe jemand hat eine Idee. Zumal das Ding am Sonntag ja noch funktioniert hat. Wenn ich das FillCombox(cbmethode); auskommentiere läuft die Chose ohne Problem...
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: Combox füllen

  Alt 23. Jun 2015, 13:57
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.
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Combox füllen

  Alt 23. Jun 2015, 14:14
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
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
sephraina

Registriert seit: 17. Feb 2015
36 Beiträge
 
Delphi XE7 Professional
 
#4

AW: Combox füllen

  Alt 23. Jun 2015, 14:45
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
  Mit Zitat antworten Zitat
sephraina

Registriert seit: 17. Feb 2015
36 Beiträge
 
Delphi XE7 Professional
 
#5

AW: Combox füllen

  Alt 23. Jun 2015, 15:08
OK zu früh gefreut.

-nichts geändert, nochmals Compiliert und schon ist das Problem wieder da.

Noch eine Idee?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:42 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