void CDragDrop6Dlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください CString str,str2,str3; int num=m_listC.GetSelectionMark(); str=m_listC.GetItemText(num,0); str2=m_listC.GetItemText(num,1); str3=str2+_T("\\*.*"); CFileFind find; int NUM; CFileIndex Idlg; CString filename; if(find.FindFile(str3)) { int i=1; while(i) { i=find.FindNextFile(); if(find.IsDots()) continue; if(find.IsDirectory()) continue; filename=find.GetFileName(); NUM++; MessageBox(filename); *File_Name=filename; } find.Close(); *number=NUM; } Idlg.DoModal(); *pResult = 0; }ヘッダ:CString *File_Name;
このプログラムは指定されたフォルダ内の全てのファイル名を取得して別のダイアログで表示するという
ものです。ずっと考えてたんですがどうしてもわからなくてご質問させていただきました。
*File_Name=filename;
この位置の手前で(MessageBoxから下へ進まない。)どうしてもとまってしまいます。理由は「問題が発生しましたプログラムを終了します」とでます。前回も似た質問をさせていただきましたがあのときはアドレスが渡せていませんでした。今回は値を渡すときに失敗します。原因をどなたか教えて下さい。
※MessageBoxで確認した所filenameの中身は正しいようです。