/// <summary> /// 根据书目序号得到详细的参考信息 /// </summary> /// <param name="nIndex">书目序号,从1排序</param> /// <param name="strInfo"></param> /// <param name="strError"></param> /// <returns></returns> public override int GetDetailBiblioInfo(string remoteUserName, SearchCommand searchCmd, int nIndex, out string strBiblioInfo, out string strError) { strBiblioInfo = ""; strError = ""; Debug.Assert(searchCmd != null); //检查有无超过数组界面 if (nIndex <= 0 || searchCmd.BiblioResultPathList.Count < nIndex) { strError = "您输入的书目序号[" + nIndex.ToString() + "]越出范围。"; return(-1); } // 获取路径,注意要截取 string strPath = searchCmd.BiblioResultPathList[nIndex - 1]; int index = strPath.IndexOf("*"); if (index > 0) { strPath = strPath.Substring(0, index); } LibraryChannel channel = this.ChannelPool.GetChannel(this.dp2Url, this.dp2UserName); channel.Password = this.dp2Password; try { long lRet1 = channel.GetBiblioDetail(strPath, out strBiblioInfo, out strError); if (lRet1 == -1) { strError = "获取详细信息失败:" + strError; return(-1); } } finally { this.ChannelPool.ReturnChannel(channel); } return(0); }