persistent TECH.Error,vhLib.Macro 1 DOM.EC.Winkelkar.Lijn,DOM.common.GroepLijn 0 DOM.EC.Winkelkar.Lijn list 1 Naam:%String 1 1 %Status TECH.Iterator Visitor:DOM.EC.Winkelkar.WinkelkarVisitor %Status GroepNaam:%String DOM.EC.Winkelkar.GroepLijn Als een groep verwijderd wordt, verwijdert ze eerst haar inhoud. Pos:%Integer %Status 0 && (VerwijderStatus = $$$OK)) { // Eerste element van de lijst Set Lijn = ..Sublijnen.GetNext("") Set VerwijderStatus = Lijn.OnBeforeVerwijder() if (VerwijderStatus = $$$OK) { Set VerwijderStatus = ..VerwijderPos(Lijn, 1) } Set Count = Count - 1 } Quit VerwijderStatus ]]> Lijn:DOM.EC.Winkelkar.Lijn,InsertPos:%String Lijn:DOM.EC.Winkelkar.Lijn Lijn:DOM.EC.Winkelkar.Lijn %Integer ..Sublijnen.Count()) && (..Sublijnen.GetAt(i).%Oid() '= Lijn.%Oid()) { Set i = i + 1 } If (i > ..Sublijnen.Count()) { $$$ThrowError($$$errInvalidID,"Deze lijn bestaat niet in deze groep") } Quit i ]]> Verwijdert de lijn uit de groep. Indien de lijn zelf een groep is, dan worden alle lijnen die in die groep zitten mee verwijderd (recursief). Lijn:DOM.EC.Winkelkar.Lijn %Status Lijn:DOM.EC.Winkelkar.Lijn,Pos:%Integer 1 %Status omitted for now Do ..Sublijnen.RemoveAt(Pos) Set rc = ..Lijst.VerwijderInternal(Lijn) if ($$$ISERR(rc)) { Quit $$$ERROR($$$GeneralError,"Fout bij verwijderen van lijn " _ Lijn) } Quit $$$OK ]]> %Library.CacheStorage GroepLijnDefaultData "GroepLijn" Naam Sublijnen