From 833b0347c1543e94a921b7c530171ee446a509e8 Mon Sep 17 00:00:00 2001 From: yuanyuanxiang Date: Sun, 14 Mar 2021 12:15:53 +0800 Subject: [PATCH] fix: #3 and #13 --- client/FileManager.cpp | 2 +- client/FileManager.h | 2 +- server/2015Remote/2015RemoteDlg.cpp | 8 ++++++-- server/2015Remote/FileManagerDlg.cpp | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/client/FileManager.cpp b/client/FileManager.cpp index c17bd14..67140ef 100644 --- a/client/FileManager.cpp +++ b/client/FileManager.cpp @@ -26,7 +26,7 @@ CFileManager::~CFileManager() m_UploadList.clear(); } -void CFileManager::OnReceive(LPBYTE lpBuffer, UINT nSize) +void CFileManager::OnReceive(PBYTE lpBuffer, UINT nSize) { switch (lpBuffer[0]) { diff --git a/client/FileManager.h b/client/FileManager.h index 5b4225c..7a7def4 100644 --- a/client/FileManager.h +++ b/client/FileManager.h @@ -28,7 +28,7 @@ typedef struct class CFileManager : public CManager { public: - void OnReceive(LPBYTE lpBuffer, UINT nSize); + void OnReceive(PBYTE lpBuffer, UINT nSize); UINT SendDriveList(); CFileManager(CClientSocket *pClient, int h = 0); virtual ~CFileManager(); diff --git a/server/2015Remote/2015RemoteDlg.cpp b/server/2015Remote/2015RemoteDlg.cpp index 2d92a03..ae13ccd 100644 --- a/server/2015Remote/2015RemoteDlg.cpp +++ b/server/2015Remote/2015RemoteDlg.cpp @@ -542,6 +542,7 @@ void CMy2015RemoteDlg::OnTimer(UINT_PTR nIDEvent) void CMy2015RemoteDlg::OnClose() { + ShowWindow(SW_HIDE); #if INDEPENDENT Shell_NotifyIcon(NIM_DELETE, &m_Nid); #endif @@ -556,6 +557,7 @@ void CMy2015RemoteDlg::OnClose() Sleep(200); EnterCriticalSection(&m_cs); + /* for (std::vector::iterator iter = v_FileDlg.begin(); iter != v_FileDlg.end(); ++iter) { @@ -565,6 +567,7 @@ void CMy2015RemoteDlg::OnClose() Sleep(1); delete cur; } + */ for (std::vector::iterator iter = v_RegDlg.begin(); iter != v_RegDlg.end(); ++iter) { @@ -577,7 +580,6 @@ void CMy2015RemoteDlg::OnClose() LeaveCriticalSection(&m_cs); //加上下面Sleep语句能避免不少退出时的崩溃、怀疑是IOCP需要背地干些工作 - ShowWindow(SW_HIDE); Sleep(300); if (m_iocpServer!=NULL) @@ -1072,7 +1074,7 @@ LRESULT CMy2015RemoteDlg::OnUserOfflineMsg(WPARAM wParam, LPARAM lParam) case FILEMANAGER_DLG: { CFileManagerDlg *Dlg = (CFileManagerDlg*)p->hDlg; - //delete Dlg; //特殊处理 + delete Dlg; break; } case REGISTER_DLG: @@ -1118,6 +1120,7 @@ LRESULT CMy2015RemoteDlg::OnOpenFileManagerDialog(WPARAM wParam, LPARAM lParam) ContextObject->v1 = FILEMANAGER_DLG; ContextObject->hDlg = Dlg; EnterCriticalSection(&m_cs); + /* for (std::vector::iterator iter = v_FileDlg.begin(); iter != v_FileDlg.end(); ) { @@ -1131,6 +1134,7 @@ LRESULT CMy2015RemoteDlg::OnOpenFileManagerDialog(WPARAM wParam, LPARAM lParam) } } v_FileDlg.push_back(Dlg); + */ LeaveCriticalSection(&m_cs); return 0; diff --git a/server/2015Remote/FileManagerDlg.cpp b/server/2015Remote/FileManagerDlg.cpp index fe7d8f6..db93970 100644 --- a/server/2015Remote/FileManagerDlg.cpp +++ b/server/2015Remote/FileManagerDlg.cpp @@ -1422,7 +1422,7 @@ void CFileManagerDlg::OnRemoteCopy() { m_bIsUpload = false; // 禁用文件管理窗口 - EnableControl(FALSE); + EnableControl(TRUE); // TODO: Add your command handler code here // 如果Drag的,找到Drop到了哪个文件夹