Bulleye this should help ... its simple enough
first thing to call is this
GlobExpandChecklist( dwCurrentIndex, dwRequiredSize )
should be set to the total in your checklist string.
next thing to call is to create an internal structure to the global checklists to your array for your data
GlobalChecklist* ptrChecklist[dwIndex];
next thing to do is to then fill the data within your checklist.
so
ptrChecklist[0]
{ SizeOf(lpString), lpString, iValA, iValB, iValC, iValD, };
final step is to let the Global Structure know where the pointer is...
g_pGlob.checklisthasvalues=TRUE; //boolean, let it know the data types for any of the checklists are this
g_pGlob.checklisthasstrings=TRUE; //same as above
g_pGlob.checklistqty=dwEntries; //number of valid entries
g_pGlob.dwChecklistArraySize=SizeOf(&ptrChecklist); //current array size
g_pGlob.checklist = *ptrChecklist; // call the current allocation
g_pGlob.checklistexists=TRUE; //boolean, call once created to let DBP know
and really thats all there is to it