BOOL CDlgLevelInput::LoginLevel(const CString &strAccName, const CString &strAccPwd) { CString strUserAcc(""), strPwd(""); if (strAccName.IsEmpty() || strAccPwd.IsEmpty()) { EnableInput(FALSE); CString strText; CString strTitle; strTitle.LoadString(IDS_STRING_Error); ////////////////////////////////////////////////////////////////////////// // 获取账号、密码 GetDlgItem(IDC_EDIT_SHACC)->GetWindowText(strUserAcc); if (strUserAcc.IsEmpty()) { strText.LoadString(IDS_STRING_AccountError); MessageBox(strText,strTitle); EnableInput(TRUE); GetDlgItem(IDC_EDIT_SHACC)->SetFocus(); return FALSE; } strPwd = m_sEdit.GetRealText(); if (strPwd.IsEmpty()) { strText.LoadString(IDS_STRING_PasswardError); MessageBox(strText,strTitle); EnableInput(TRUE); m_sEdit.SetFocus(); return FALSE; } } else { strUserAcc = strAccName; strPwd = strAccPwd; } long handle = g_pDoLogin->ConnectServer(CEV_Connect_LEVEL2); if (handle) {// level2服务连接成功 IAccountMng *pTradeAccountMng = g_pDoLogin->m_pTradeCore->GetAccountMng(); if(pTradeAccountMng && pTradeAccountMng->GetCount(atLevel2) == 0) { //IAccount* pQHAccount = pTradeAccountMng->Add(atLevel2); IAccount* pQHAccount = pTradeAccountMng->NewAccount(atLevel2); if(pQHAccount) { pQHAccount->SetLoginAccount(strUserAcc); pQHAccount->SetCellNo(""); pQHAccount->SetLoginAccountType(""); pQHAccount->SetPassword(strPwd); pQHAccount->SetServerID(0); pQHAccount->SetBranchNo("0"); pQHAccount->SetConnectHandle(handle); CString sMsg = ""; if( pQHAccount->Login(sMsg) ) { pTradeAccountMng->Add(pQHAccount); pTradeAccountMng->SetCurrentAccount(pQHAccount); return TRUE; } else { pQHAccount->Release(); //pTradeAccountMng->DeleteAccount(pQHAccount); // CDataSourceInitDataStauts msg; // strncpy(msg.m_szMsg, sMsg, min(sMsg.GetLength()+1, 256)); // FSetProgressMsg(&msg); MessageBox(sMsg, "Error", MB_OK | MB_ICONERROR); } } } } EnableInput(TRUE); return TRUE; }