*--Event that is hooked up and fires: PROCEDURE INETAPIEvents_QuestAnsEvent(arg AS VARIANT) AS VOID *arg object is passed to vfp via com interop event firing - it has collections as properties (remember it is zero-based in .net) *VFP Code in event to see questions and answers collection passed from .net: *arg object is passed to vfp via com interop event firing - it has collections as properties (remember it is zero-based in .net) *VFP Code in event to see questions and answers collection passed from .net: IF TYPE("arg") = "O" AND ... && etc skip the stupid stuff you know IF TYPE("arg.myObject") = "O" AND TYPE("arg.myObject.myCollection") = "O" AND TYPE("arg.myObject.myCollection.count") = "N" AND arg.myObject.myCollection.COUNT > 0 FOR I = 0 TO arg.myObject.myCollection.COUNT-1 IF TYPE("arg.myObject.myCollection.ITEM[m.i].Questions") = "O" AND arg.myObject.myCollection.ITEM[m.i].Questions.COUNT > 0 && Are there questions and answers? FOR iq = 0 TO arg.myObject.myCollection.ITEM[m.i].Questions.COUNT - 1 RELEASE loTemp loTemp = arg.myObject.myCollection.ITEM[m.i].Questions.ITEM[m.iq] IF TYPE('ALEN(loTemp.Answers,1)') = "N" FOR ia = 1 TO ALEN(loTemp.Answers,1) IF .F. DIMENSION laAnswers[1] ENDIF RELEASE laAnswers laAnswers = loTemp.Answers ENDFOR ENDIF