Index: VerpakkingsDefinitie/WS/ProductsAgent.pas =================================================================== diff -u -r579 -r580 --- VerpakkingsDefinitie/WS/ProductsAgent.pas (.../ProductsAgent.pas) (revision 579) +++ VerpakkingsDefinitie/WS/ProductsAgent.pas (.../ProductsAgent.pas) (revision 580) @@ -84,8 +84,10 @@ procedure TProductsAgent.RegistreerMislukteOpzoeking(UiInstellingenContext: TUiInstellingenContext; pxStatusObj: OptiServerService.pxStatus); begin - // Ander velden leegmaken - UiInstellingenContext.Instellingen := nil; + // Andere velden leegmaken + UiInstellingenContext.Positie.Clear(); + UiInstellingenContext.Plaatsing.Clear(); + UiInstellingenContext.Richting.Clear(); UiInstellingenContext.IsOK := pxStatusObj.IsOK; UiInstellingenContext.ErrorMessage := pxStatusObj.Message_; @@ -111,14 +113,55 @@ procedure TProductsAgent.RegistreerLoadResultaten(UiInstellingenContext: TUiInstellingenContext; Instellingen: UI_Data.IXMLOptiBoxType); +var + Node: IXMLNode; + I: Integer; + NewPair: TPair; begin // Ander velden leegmaken UiInstellingenContext.IsOK := True; UiInstellingenContext.ErrorMessage := ''; UiInstellingenContext.InternalErrorMessage := ''; - UiInstellingenContext.Instellingen := Instellingen; + UiInstellingenContext.Positie.Clear(); + if Instellingen.Positie <> nil then + begin + for I := 0 to Instellingen.Positie.Count - 1 do + begin + Node := Instellingen.Positie[I]; + NewPair := TPair.Create(); + NewPair.Key := Node.GetAttributeNS('Key', ''); + NewPair.Value := Node.Text; + UiInstellingenContext.Positie.Add(NewPair); + end; + end; + UiInstellingenContext.Plaatsing.Clear(); + if Instellingen.Positie <> nil then + begin + for I := 0 to Instellingen.Plaatsing.Count - 1 do + begin + Node := Instellingen.Plaatsing[I]; + NewPair := TPair.Create(); + NewPair.Key := Node.GetAttributeNS('Key', ''); + NewPair.Value := Node.Text; + UiInstellingenContext.Plaatsing.Add(NewPair); + end; + end; + + UiInstellingenContext.Richting.Clear(); + if Instellingen.Positie <> nil then + begin + for I := 0 to Instellingen.Richting.Count - 1 do + begin + Node := Instellingen.Richting[I]; + NewPair := TPair.Create(); + NewPair.Key := Node.GetAttributeNS('Key', ''); + NewPair.Value := Node.Text; + UiInstellingenContext.Richting.Add(NewPair); + end; + end; + UiInstellingenContext.NotifyChanged(); end;