CFileDialog?? HELP!
-
Hi, I'm to C ++/mfc and I'm trying to modify a chat program to have the capability to transfer files as well as messages. I found help from with code to send the file from this forum, but when I implemented it, I keep getting an error, "Unknown error while accessing unnamed file". I put a button on the client side, and when the person clicks on it, the file dialog box is supposed to open, and the person can choose the file to send. I get the dialog box, but I get the error right after I choose the file. I put messages throughout the code to see where the progran has reached, and it seems to be going through fine! I'm really confused!! :confused::confused::confused: I'm pasting the code below. If anyone has any idea what I'm doing wrong please respond. ------------------------------------------------- void CMainFrame::OnSFile() { MessageBox("File Transfer"); CSocket cSocket; cSocket.Create(); cSocket.Connect((LPCTSTR(m_strServerIP)),m_iFTPort); CSocketFile sf(&cSocket); CArchive ar(&sf, CArchive::store); /*code for CFileDialog goes here*/ static char BASED_CODE szFilter[] = "All Files (*.*)|*.*||"; CString strPath; CFileDialog m_ldFile(TRUE,".*","*.*",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter); // Initialize the starting directory //m_ldFile.m_ofn.lpstrInitialDir = _T("C:\\"); // Show the file open dialog and captures the result //if IDOK if (m_ldFile.DoModal() == IDOK) { strPath = m_ldFile.GetPathName(); CFile myFile(strPath, CFile::modeRead | CFile::typeBinary); MessageBox("here"); //get file info DWORD length = myFile.GetLength(); MessageBox("here2"); char *data = new char[length]; MessageBox("here3"); myFile.Read(data, length); MessageBox("here4"); //send it across ar << myFile.GetFileName(); ar << length; ar.Write(data, length); delete[] data; myFile.Close(); } MessageBox("here5"); } ----------------------------------------------------------------