I am not new to Genesys ActiveX programming, but this is my first time with this problem.
I am using AddPair method to add UserData to an event. If I use ActiveX 7.0, it works, if I use ActiveX 7.1 it does not.
The reason why I know that it does not, is:
1. at the end I check for eventInfo.UserData.IsEmpty and it returns TRUE when using ActiveX 7.1 but it returns FALSE when using ActiveX 7.0
2. TExtension.TSendUserEvent(eventInfo) results in a PrivateMessage when using 7.1, and UserEventInfo when using 7.0.
I am using Windows XP SP4 and C#. 
			
            DesktopToolkitX.CTKVPair myPair;
			DesktopToolkitX.CTKVList myList;
			DesktopToolkitX.TEventInfo eventInfo;
			eventInfo=new DesktopToolkitX.TEventInfo();
			myList=new DesktopToolkitX.CTKVList();
			myPair=new DesktopToolkitX.CTKVPair(); //new kv_pair();
					
			myPair.Key="GSW_CM_MessageType";
			myPair.Type=DesktopToolkitX.CTKVType.CKVTypeNum;
		        myPair.NumValue = msgtype; // "CM_ReqLoadCampaign";
			myList.AddHead(myPair);
					
			myPair=null;
			myPair=new DesktopToolkitX.CTKVPair(); //new kv_pair();
		        myPair.Key = "GSW_CM_AttrOriginAppID";
			myPair.Type=DesktopToolkitX.CTKVType.CKVTypeNum;
			myPair.NumValue=this.TServer.AppDBID; // DBID of Application
			myList.AddHead(myPair);
            myPair = new DesktopToolkitX.CTKVPair(); //new kv_pair();
            myPair.Key = "GSW_CM_AttrTargetAppID";
            myPair.Type = DesktopToolkitX.CTKVType.CKVTypeNum;
            myPair.NumValue = this.TServer.OCSDBID; // DBID of Application
            myList.AddHead(myPair);
			myPair=null;
			myPair=new DesktopToolkitX.CTKVPair(); //new kv_pair();
            myPair.Key = "GSW_CM_AttrCampaignID";
			myPair.Type=DesktopToolkitX.CTKVType.CKVTypeNum;
			myPair.NumValue=conf.campaignArray[index].Id; // DBID of Campaign
			myList.AddHead(myPair);
			myPair=null;
			myPair=new DesktopToolkitX.CTKVPair(); //new kv_pair();
			myPair.Key="GSW_CM_AttrGroupID";
			myPair.Type=DesktopToolkitX.CTKVType.CKVTypeNum;
			myPair.NumValue=conf.campaignArray[index].agentGroupDBID; // DBID of Campaign
			myList.AddHead(myPair);
			
			myPair=null;
			myPair=new DesktopToolkitX.CTKVPair(); //new kv_pair();
			myPair.Key="GSW_CM_AttrDialMode";
			myPair.Type=DesktopToolkitX.CTKVType.CKVTypeNum;
			myPair.NumValue=mode; // DBID of Campaign
			myList.AddHead(myPair);
			myPair=null;
			myPair=new DesktopToolkitX.CTKVPair(); //new kv_pair();
			myPair.Key="GSW_CM_AttrOptimizeBy";
			myPair.Type=DesktopToolkitX.CTKVType.CKVTypeNum;
            myPair.NumValue = conf.campaignArray[index].optimizeBy; //optimize_by; // Optimize by 
			myList.AddHead(myPair);
			myPair=null;
			myPair=new DesktopToolkitX.CTKVPair(); //new kv_pair();
			myPair.Key="GSW_CM_AttrOptimizeGoal";
			myPair.Type=DesktopToolkitX.CTKVType.CKVTypeNum;
            myPair.NumValue = conf.campaignArray[index].settingValue; // optimize_goal; // Optimize goal
			myList.AddHead(myPair);
			eventInfo.UserData=myList;
			if (eventInfo.UserData.IsEmpty() == true)
				MessageBox.Show("Event Info Empty  No Data");
			TExtension.TSendUserEvent(eventInfo);