/// <summary> /// �������� /// </summary> /// <param name="flInstanceId">����Id</param> /// <param name="flDefinitionFile">���̶���XOML�ļ�</param> /// <param name="flRulesFile">���̹����ļ�</param> /// <param name="clientInfo">ClientInfo</param> /// <param name="hostDataSet">������</param> /// <param name="orgKind">�û�OrgKind</param> /// <returns></returns> public FLInstance CreateFLInstance(Guid flInstanceId, string flDefinitionFile, string flRulesFile,/* XmlReader flDefinitionReader, XmlReader flRulesReader, */ object[] clientInfo, string roleID, DataSet hostDataSet, string orgKind) { //if (_flInstances.ContainsKey(flInstanceId)) //{ // throw new Exception("FLRuntime is existed " + flInstanceId.ToString()); //} //FLInstance instance = new FLInstance(flInstanceId, this, flDefinitionReader, flRulesReader); FLInstance instance = new FLInstance(flInstanceId, this, flDefinitionFile, flRulesFile, clientInfo, hostDataSet, orgKind); instance.SetFLRuntime(this); instance.SetClientInfo(clientInfo); instance.SetCreator(((object[])clientInfo[0])[1].ToString(), roleID); // ���ô����� // ��������ķ��������Ӧ���¼� // ���__Start�¼� instance.__Created += new FLInstance.__CreatedEventHandler(Instance___Created); instance.__Submit += new FLInstance.__SubmitEventHandler(Instance___Submit); instance.__Approve += new FLInstance.__ApproveEventHandler(instance___Approve); instance.__Return += new FLInstance.__ReturnEventHandler(instance___Return); instance.__Reject += new FLInstance.__RejectEventHandler(instance___Reject); instance.__Retake += new FLInstance.__RetakeEventHandler(instance___Retake); instance.__Pause += new FLInstance.__PauseEventHandler(instance___Pause); instance.__PlusApprove += new FLInstance.__PlusApproveEventHandler(instance___PlusApprove); instance.__PlusReturn += new FLInstance.__PlusReturnEventHandler(instance___PlusReturn); return instance; }