ok, cool, I see the problem.
So you are prototyping the parameter as “receiving a group”. GuidFromStringA PROCEDURE ( String pGuidString, *GDT:Guid pGuid)
But the variable is decalred as a Group Array
(I’m going to assume you’ve updated your group type to match - that’s the updating I assume you’re refering to.)
So, short version, you can’t pass an element of a group in as a *group. You can pass the whole group array, you can pass a non-arrayed group, but you can’t use the syntax as you have it.
At this point I’m a little confused as to what group is used, and passed, and prototyped - but I’m assuming you’ve got that in order. But you can’t pass somegroup[4] to a function prototyped as taking *somegroup.
Ok, I was hoping the data type parameter would just overlay starting from the memory address of the matching part of the bigger group and that part would be passed.
Anyway I have it working by assigning the GUID values from the bigger group into a local GUID group and pass that.