Einzelnen Beitrag anzeigen

akio87

Registriert seit: 18. Mär 2010
44 Beiträge
 
Delphi XE8 Architect
 
#9

AW: idHTTP und XML

  Alt 23. Mai 2016, 18:16
Guten Abend,

ich habe zu meinem Thema noch eine Frage.

Wenn das Produkt nicht bei der Stock Abfrage gefunden wird, wird ein Zugriffsfehler ausgeworfen (Siehe Screenshots).

Dies passiert, wenn er eine isZahl Abfrage startet. Wenn das Produkt nicht gefunden wurde beim Distri, dann ist StockNode = nil und kann das nicht als isZahl prüfen.

Habt Ihr eine Idee, wie ich das umgehen kann?

Delphi-Quellcode:
       CoInitialize(nil);
        try
          ImageVerfügbar[n] := TUniImage.Create(self);
          ImageVerfügbar[n].Parent := PanelArray[n];
          //ImageVerfügbar[n].SetBounds( ButtonArray[n].Left - 25 , ButtonArray[n].Top , 25, 25);
          ImageVerfügbar[n].SetBounds( PanelArray[n].Width - 25 , 5 , 20, 20);
          ImageVerfügbar[n].Center := true;
          ImageVerfügbar[n].Stretch := true;
          ImageVerfügbar[n].ShowHint := true;

          UniMemo1.Clear;
          UniMemo1.Lines.Text := UniMainModule.idhttp1.Get('https://xxx.de/ws/stock?key=XXXXX&manufacturerid=' + WarenkorbButtonArray[n].Hint + '&real=1');
          xmlDoc := LoadXMLData(UniMemo1.Lines.Text);
          stockNode := TXpathHelper.SelectNode(xmlDoc.DocumentElement, '/stock/articlelist/article/stock');

          if not isZahl(stockNode.Text) then stockNode.Text := '0';

            if StrToInt(stockNode.Text) >= 1 then
             begin
               ImageVerfügbar[n].Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\files\pics\Verfügbarkeit\symbol_richtig.jpg');
               ImageVerfügbar[n].Hint := stockNode.Text + ' Stück verfügbar.' + #10
                                                        + ' - Dieses Produkt befindet sich momentan in unserem Zentrallager.' + #10
                                                        + ' - Restmenge kann innerhalb von ca. 5-10 Werktagen nachgeliefert werden.';
             end
            else
             begin
               ImageVerfügbar[n].Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\files\pics\Verfügbarkeit\symbol_falsch.jpg');
               ImageVerfügbar[n].Hint := 'Liefertermin noch unbestimmt' + #10
                                        + ' - Dieses Produkt befindet sich momentan nicht in unserem Zentrallager.' + #10
                                        + ' - Wir erwarten in den nächsten Tagen einen Wareneingang und wird umgehend nachgeliefert.';
             end;

        finally
          CoUninitialize;
        end;

Geändert von akio87 (23. Mai 2016 um 19:54 Uhr)
  Mit Zitat antworten Zitat