As far as I can tell from looking at your source code, you are using iGrid ActiveX in Microsoft Access. The problem you reported is actually a problem of passing UDTs like TSelItemInfo in arrays that appears in some development environments, including Microsoft Access. It's not a problem of the Modern Edition of iGrid, this problem exists in the Classic Edition too. That's why we added the following paragraph to the help topic describing the iGrid.SelItems.GetArray method:
Not all development environments allow you to use the GetArray method as it returns a typed array. As an alternative, you can use the GetString method of the SelItemsObject instead.Wayne Phillips, the developer of twinBASIC (the new VB6/VBA compatible development environment we used to compile the modern edition of iGrid), explained why this happens and how to solve the problem. Without excessive details, the problem is the following:
A call to your SelItems GetArray() would be early-bound, however, due to ActiveX wrapping that occurs automatically by hosts such as Access, this call is being made late-bound.The suggested solution is simple:
Dim igridX As iGrid ' this makes it early-bound, rather than using
Set igridX = Me!grdTest.Object ' the Ax late-bound wrappers provided by the host
aV_arr = igridX.SelItems.GetArray ' this is now an early-bound call to GetArray()
Let us know whether this helps to solve the problem.
Edited by user
2024-10-07T06:40:07Z
|
Reason: Not specified