I wanted to store some lists into storage.
I make an entity selection, then create a LIST using a method ORDA_MakeList.
The lists are made perfectly (outside of Storage).
This works flawlessly: the resulting list_UnitTypes works correctly as a LIST.
----
$col_UnitTypes:=ds.Unit_Type.all().orderBy("Name asc").toCollection("Name";dk
with primary key)
list_UnitTypes:=ORDA_MakeList ($col_UnitTypes;"Name")
——
However, trying to store the LIST in Storage presents a problem:
$col_UnitTypes:=ds.Unit_Type.all().orderBy("Name asc").toCollection("Name";dk
with primary key)
Use (Storage)
If (Storage.lists=Null)
Storage.lists:=New shared object
End if
Use (Storage.lists)
Storage.lists.list_UnitTypes:=ORDA_MakeList
($col_UnitTypes;"Name")
… other lists …
End use
End use
Now if the list is referred to in any window / process, then it fails.
Storage.lists.list_UnitTypes will give an INTEGER VALUE, but it list functions
cannot work (i.e. do not recognize it as a list).
——
So am I going to have to store entity selections in storage and convert these
to lists inside the windows I use them in?
I was hoping that LISTS would be ‘interprocess’ in the sense that there is a
unique number given to any that are created.
— thanks, Chris
p.s. this is the ORDA_MakeList() method:
// ORDA_MakeList(entitySelection;DisplayFieldName) --> list with
DisplayFields and __KEYS
C_COLLECTION($1)
C_TEXT($2) // the name of the Display Field
C_OBJECT($Unit)
$theList:=New list
For each ($Unit;$1)
APPEND TO LIST($theList;$Unit[$2];$Unit.__KEY)
End for each
$0:=$theList
**********************************************************************
4D Internet Users Group (4D iNUG)
Archive: http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub: mailto:[email protected]
**********************************************************************