Пример #1
0
void CImageMgr::OnImportImage()
{
	if( fontGen->GetStatus() != 0 ) return;

	CFileDialog dlg;
	dlg.AddFilter("All files (*.*)", "*.*");
	dlg.AddFilter("Supported image files (*.bmp;*.jpg;*.tga;*.dds;*.png)", "*.bmp;*.jpg;*.tga;*.dds;*.png", true);

	if( dlg.AskForOpenFileName(this) )
	{
		CIconImageDlg iconDlg;
		iconDlg.fileName = dlg.GetFileName();
		iconDlg.id = 0;
		iconDlg.xoffset = 0;
		iconDlg.yoffset = 0;
		iconDlg.advance = 0;

		if( iconDlg.DoModal(this) == IDOK )
		{
			// Create the icon image
			int r = fontGen->AddIconImage(iconDlg.fileName.c_str(), 
			                              iconDlg.id,
										  iconDlg.xoffset,
										  iconDlg.yoffset,
										  iconDlg.advance);
			if( r < 0 )
			{
				MessageBox(hWnd, "Failed to load image file", "File error", MB_OK);
				return;
			}

			RefreshList();
		}
	}
}
void CCharWin::OnSelectCharsFromFile()
{
	if( isGenerating ) return;

	CFileDialog dlg;
	dlg.AddFilter("All files (*.*)", "*.*", true);

	if( dlg.AskForOpenFileName(this) )
	{
		fontGen->SelectCharsFromFile(dlg.GetFileName().c_str());
		int countMissing = fontGen->GetNumFailedChars();
		if( countMissing )
		{
			stringstream s;
			s << countMissing << " characters from the file are not available in the font";

			TCHAR buf[1024];
			ConvertAnsiToTChar(s.str(), buf, 1024);

			MessageBox(hWnd, buf, __TEXT("Warning"), MB_OK);
		}

		UpdateSubsetsSelection();
		Invalidate(FALSE);
	}
}
Пример #3
0
BOOL CGeorgesEditDocForm::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// User mode ?
	if (theApp.Superuser)
	{
		// Choose a DFN for this form
		string defFilename = theApp.RootSearchPath;
		defFilename += "*.dfn";

		CFileDialog dlgFile (TRUE, "*.dfn", defFilename.c_str (), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, DfnFilter, theApp.m_pMainWnd);
		if (dlgFile.DoModal () == IDOK)
		{
			if (initDocument (dlgFile.GetFileName (), true))
				return TRUE;
		}
	}
	else
	{
		// Get the Dfn name
		CMyMultiDocTemplate *docTemplate = safe_cast<CMyMultiDocTemplate*> (GetDocTemplate ());
		string dfnName;
		docTemplate->getDfnName (dfnName);
		if (initDocument (dfnName.c_str (), true))
			return TRUE;
	}

	return FALSE;
}
Пример #4
0
/////////////////////////////////////////////////////////////////////////////
// CCmdGF message handlers
void CCmdGF::OnGfExt() 
{
	UpdateData(TRUE);

	CMainFrame* main;
	main=(CMainFrame*)AfxGetMainWnd();

	CFRTK* face = &((CSoftComputingWndDoc*)main->GetActiveDocument())->m_frtk;
	IPLIMAGE image = ((CSoftComputingWndDoc*)main->GetActiveDocument())->m_image;

	CFileDialog *pDlg = new CFileDialog( TRUE, NULL, NULL, OFN_READONLY, 
		"얼굴모델 *.dat|*.dat|모든파일 *.*|*.*|", NULL );

	if (pDlg->DoModal())
	{
		CString filename = pDlg->GetFileName();

		if (filename != "")
		{
			CFRTKface facecomp;
			facecomp.load(filename);

			face->FRTKgeofeat(image, NULL, m_source, m_result, facecomp);
		}
	}
}
Пример #5
0
void CDialConfigDec::OnButton2() 
{
	CFile Fichier; // variable fichier 	                                        
	BYTE compnbpar;
	CFileDialog * FileData = new CFileDialog (TRUE,"*.param",NomFichParam,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"Paramètres (*.param)|*.param|",this);

	if (FileData->DoModal()==IDOK)
	{
		if(FileData->GetFileExt()!="param")
		{
			MessageBox("Le fichier selectionné n'est pas valide!","Erreur",MB_OK|MB_ICONSTOP);
			m_pmc.SetWindowText("*.param");
			ValidPARAM=FALSE;
		}
		else if (Fichier.Open(FileData->GetPathName(), CFile::modeRead))
		{ 
			Fichier.Read(&compnbpar,1);

			if(compnbpar!=NBpar)
			{
				MessageBox("Fichier  "+Fichier.GetFileName()+"  incompatible!","Nombre de paramètres",MB_OK|MB_ICONSTOP);
				m_param.SetWindowText("*.param");
				ValidPARAM=FALSE;
				Fichier.Close(); 
			}
			else
			{
				NomFichParam=FileData->GetPathName();
				m_param.SetWindowText(FileData->GetFileName());
				ValidPARAM=TRUE;
				Fichier.Close();
			}
		}
		else 
		{
			MessageBox("Le fichier  "+FileData->GetFileName()+"  n'existe pas!","Erreur",MB_OK|MB_ICONSTOP);
			ValidPARAM=FALSE;
		}
	}

	m_ok.EnableWindow(ValidPARAM&&ValidPMC);
	m_checkbox.EnableWindow(ValidPARAM&&ValidPMC);
	m_param.EnableWindow(ValidPMC);
	UpdateData(FALSE);
	delete FileData;
}
Пример #6
0
void CDialConfigDec::OnButton1() 
{
	CFile Fichier; // variable fichier 	                                        
	BYTE compnbpar;
	CFileDialog * FileData = new CFileDialog (TRUE,"*.pmc",NomFichPMC,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"Polytopes multi-classes (*.pmc)|*.pmc|",this);

	if (FileData->DoModal()==IDOK)
	{
		if(FileData->GetFileExt()!="pmc")
		{
			MessageBox("Le fichier selectionné n'est pas valide!","Erreur",MB_OK|MB_ICONSTOP);
			m_pmc.SetWindowText("*.pmc");
			ValidPMC=FALSE;
		}
		else if (Fichier.Open(FileData->GetPathName(), CFile::modeRead))
		{ 
			Fichier.Read(&NBclass,1);
			Fichier.Read(&compnbpar,1);
			Fichier.Close(); 
			NomFichPMC=FileData->GetPathName();
			m_pmc.SetWindowText(FileData->GetFileName());
			ValidPMC=TRUE;
			if(compnbpar!=NBpar)
			{
				NBpar=compnbpar;
				m_param.SetWindowText("*.param");
				ValidPARAM=FALSE;
			}
			m_classeaffect=0;
			m_spin.SetPos(0);
			m_spin.SetRange(0,NBclass-1);
			if(!m_check) m_edit1.SetWindowText("");
		}
		else 
		{
			MessageBox("Le fichier  "+FileData->GetFileName()+"  n'existe pas!","Erreur",MB_OK|MB_ICONSTOP);
			ValidPMC=FALSE;
		}
	}

	m_ok.EnableWindow(ValidPARAM&&ValidPMC);
	m_checkbox.EnableWindow(ValidPARAM&&ValidPMC);
	m_param.EnableWindow(ValidPMC);
	UpdateData(FALSE);
	delete FileData;	
}
Пример #7
0
void CDfuFileMgrDlg::OnButtongenerate() 
{
	HANDLE hFile;
	TCHAR szFilters[]=
    "Dfu Files (*.dfu)|*.dfu|All Files (*.*)|*.*||";
	WORD Vid, Pid, Bcd;

	CFileDialog* dlg;
	dlg = new CFileDialog(FALSE,  _T("dfu"), _T("*.dfu"),
					OFN_CREATEPROMPT |OFN_PATHMUSTEXIST |OFN_OVERWRITEPROMPT,
					szFilters, this);

	UpdateData(TRUE);

	if (m_Vid.IsEmpty() || m_Pid.IsEmpty() || m_Bcd.IsEmpty() )
	{
		AfxMessageBox("One of following element is empty. Please fill before continuing...\r\nVID, PID or Bcd Version"); 
		return;
	}
	else if(m_Images.GetSize() == 0)
	{
        AfxMessageBox("Image list is empty. Please select an S19, Hex or bin file"); 
		return;
	}
	if (dlg->DoModal()==IDOK)
	{
		char *dummy;
		Vid=(WORD)strtoul(m_Vid, &dummy, 16);
		Pid=(WORD)strtoul(m_Pid, &dummy, 16);
		Bcd=(WORD)strtoul(m_Bcd, &dummy, 16);

		if (STDFUFILES_CreateNewDFUFile((LPSTR)(LPCSTR)dlg->GetFileName(), &hFile, Vid, Pid, Bcd)==STDFUFILES_NOERROR)
		{
			for (int i=0;i<m_Images.GetSize();i++)
			{
				CString Tmp, Tmp1;
				HANDLE Image=(HANDLE)m_Images.GetAt(i);

				m_ListFiles.GetText(i, Tmp1);
				if (STDFUFILES_AppendImageToDFUFile(hFile, Image)==STDFUFILES_NOERROR)
				{
					Tmp.Format("Success for '%s' !",Tmp1);
					AfxMessageBox(Tmp);
				}
				else
				{
					Tmp.Format("Failure for '%s'...", Tmp1);
					AfxMessageBox(Tmp);
				}
			}
			STDFUFILES_CloseDFUFile(hFile);
		}
	}

	UpdateData(FALSE);
}
void CCharWin::OnLoadFontConfiguration()
{
	CFileDialog dlg;
	dlg.AddFilter("All files (*.*)", "*.*");
	dlg.AddFilter("BMFont Font config (*.csv)", "*.csv", true);
	dlg.AddFilter("Text (*.txt)", "*.txt");

	if (dlg.AskForOpenFileName(this))
		LoadFontConfig(dlg.GetFileName());
}
Пример #9
0
void CEasyToonApp::OnFileOpen()
{
	/*this->*/
	static char szFilter[] = "EasyToon Files (*.ezt)|*.ezt|GIF Files (*.gif)|*.gif|All Files (*.*)|*.*||";
	CFileDialog fileDlg ( true, "gif", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ENABLEHOOK, szFilter);


	if ( fileDlg.DoModal() == IDOK ) this->OpenDocumentFile(fileDlg.GetFileName());

	/*CWinApp::OnFileOpen();*/
}
void CChooseFont::OnBrowseFont()
{
	CFileDialog dlg;
	dlg.AddFilter("Windows font files", "*.fon;*.fnt;*.ttf;*.ttc;*.fot;*.otf;", true);
	if( dlg.AskForOpenFileName(this) )
	{
		TCHAR buf[1024];
		ConvertAnsiToTChar(dlg.GetFileName(), buf, 1024);

		SetDlgItemText(hWnd, IDC_FONTFILE, buf);

		EnumFonts();
	}
}
Пример #11
0
void CColorEyeIDoc::saveOmdDlg(LPCTSTR FileFilter)
{
    CFileDialog aFileDialog (FALSE, "omd", "*.omd", OFN_SHAREAWARE, FileFilter);
    
    int nID = aFileDialog.DoModal();
    if (nID == IDOK)
    {
        saveOmdFile(aFileDialog.GetPathName());
        debugByTxt(aFileDialog.GetPathName());

        SetPathName(aFileDialog.GetPathName());
        SetTitle(aFileDialog.GetFileName());
    
        SetModifiedFlag(FALSE);
    }
}
Пример #12
0
void CSyntaxDlg::OnFilefind() 
{
	CFileDialog dlg
		(
		TRUE, 
		"txt", 
		"*.txt", 
		OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_FILEMUSTEXIST, 
		"Textdateien (*.txt)" 
		);
	if( IDOK == dlg.DoModal() )
	{
		m_strTagPath = dlg.GetPathName();
		GetDlgItem( IDC_SYN_FILENAME )->SetWindowText( dlg.GetFileName() );
		EnableControls( FALSE );
	}
}
void CCharWin::OnSaveFontConfiguration()
{
	CFileDialog dlg;
	dlg.AddFilter("All files (*.*)", "*.*");
	dlg.AddFilter("BMFont Font config (*.csv)", "*.csv", true);
	dlg.AddFilter("Text (*.txt)", "*.txt");

	// Open a SaveAs dialog to get a filename from the user
	if (dlg.AskForSaveFileName(this))
	{
		FILE *file = NULL;
		string path = dlg.GetFileName();
		file = fopen(path.c_str(), "w+");

		if (NULL != file)
		{
			// write the column definitions
			string definitions = "character,image_path,x_offset,y_offset,x_advance,x,y,width,height\n";
			fwrite(definitions.c_str(), 1, definitions.size(), file);
			const map<int, SIconImage *> &IconImages = fontGen->GetIconImageInfo();
			for (map<int, SIconImage *>::const_iterator itr = IconImages.begin(); IconImages.end() != itr; ++itr)
			{
				TCHAR characterT[4] = { 0 };
				characterT[0] = itr->first;
				string character;
				ConvertTCharToAnsi(characterT, character);

				char info[1024] = { 0 };
				int length = sprintf(info, "%s,%s,%d,%d,%d,%d,%d,%d,%d\n", \
					character.c_str(), \
					itr->second->fileName.c_str(), \
					itr->second->xoffset, \
					itr->second->yoffset, \
					itr->second->advance, \
					itr->second->x, \
					itr->second->y, \
					itr->second->width, \
					itr->second->height);
				fwrite(info, 1, length, file);
			}
			fclose(file);
		}
	}
}
Пример #14
0
void CColorEyeIDoc::openOmdDlg(LPCTSTR FileFilter)
{
    CFileDialog aFileDialog (TRUE, NULL, NULL, OFN_SHAREAWARE | OFN_OVERWRITEPROMPT, FileFilter);
    
    int nID = aFileDialog.DoModal();
    if (nID == IDOK)
    {
//         m_docDNA.Empty();
        m_docRNA.Empty();
        m_docFileHead.Empty();

        openOmdFile(aFileDialog.GetPathName());
        SetPathName(aFileDialog.GetPathName());
        SetTitle(aFileDialog.GetFileName());

        SetModifiedFlag(FALSE);
        UpdateAllViews(NULL);
   }
}
void CCharWin::OnLoadConfiguration()
{
	if( isGenerating ) return;

	CFileDialog dlg;
	dlg.AddFilter("All files (*.*)", "*.*");
	dlg.AddFilter("BMFont config (*.bmfc)", "*.bmfc", true);
	dlg.AddFilter("Text (*.txt)", "*.txt");

	string dir = fontGen->GetLastConfigFile();
	if( dir != GetDefaultConfig() )
	{
		// cut off the filename and last /
		dir = dir.substr(0, dir.find_last_of("/\\"));
		dlg.SetInitialDir(dir.c_str());
	}

	if( dlg.AskForOpenFileName(this) )
		LoadConfig(dlg.GetFileName());
}
Пример #16
0
// enable menu for bitmap export with right click
void CTextureCtrl::OnRButtonUp(int cx, int cy)
{
	POINT pt;
	pt.x = cx;
	pt.y = cy;
	ClientToScreen(*this, &pt); 

	HMENU menu=CreatePopupMenu();
	AppendMenu(menu,MF_STRING,IDM_SAVE_AS, _T("&Save as..."));
	UINT msg=TrackPopupMenu(menu,TPM_RETURNCMD | TPM_RIGHTBUTTON | TPM_TOPALIGN | TPM_LEFTALIGN,pt.x,pt.y,0,*this,NULL);

	if(msg==IDM_SAVE_AS)
	{
		CFileDialog dlg;
		dlg.Create(*this,_T("Bitmap image (*.bmp)|*.BMP|All files (*.*)|*.*||"),_T("Save converted texture"),OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT,false);
		if(dlg.DoModal()==IDOK)
		{
			tex_cache.SaveBitmap(dlg.GetFileName());
		}
	}
}
void CCharWin::OnSaveConfiguration()
{
	CFileDialog dlg;
	dlg.AddFilter("All files (*.*)", "*.*");
	dlg.AddFilter("BMFont config (*.bmfc)", "*.bmfc", true);
	dlg.AddFilter("Text (*.txt)", "*.txt");

	string dir = fontGen->GetLastConfigFile();
	if( dir != GetDefaultConfig() )
	{
		// cut off the filename and last /
		dir = dir.substr(0, dir.find_last_of("/\\"));
		dlg.SetInitialDir(dir.c_str());
	}

	// Open a SaveAs dialog to get a filename from the user
	if( dlg.AskForSaveFileName(this) )
	{
		fontGen->SaveConfiguration(dlg.GetFileName().c_str());
	}
}
Пример #18
0
void CDlgDefineModel::OnBnClickedBrowseModelName()
{
	CFileDialog fileDlg (FALSE, _T(""), _T("*.*"), OFN_HIDEREADONLY, _T(""), this);
	OPENFILENAME& ofn = fileDlg.GetOFN();
	CString strDlg("Specify model root name");
	ofn.lpstrTitle = strDlg;
	if( fileDlg.DoModal() == IDOK ) {
		CString strExt = fileDlg.GetFileExt();
		CString strName = fileDlg.GetFileName();
		m_strFilePathModel = fileDlg.GetPathName();
		if( !strExt.IsEmpty()) {
			m_strFilePathModel.Replace( _T(".")+strExt, _T(""));
		}
		if( !strName.IsEmpty()) {
			m_strFilePathTmp.Replace( _T("\\")+strName, _T(""));
		}
		m_pInvFcs->SetFileRoot( m_strFilePathModel );
		m_pInvFcs->SetPathTmp( m_strFilePathModel );
		SetDlgItemText(IDC_MODEL_NAME, m_strFilePathModel);
		SetDlgItemText(IDC_TEMP_DIR, m_strFilePathModel);
	}
}
void CCharWin::OnSaveAs()
{
	if( isGenerating ) return;

	CFileDialog dlg;
	dlg.AddFilter("All files (*.*)", "*.*");
	dlg.AddFilter("Bitmap font (*.fnt)", "*.fnt", true);

	// Open a SaveAs dialog to get a filename from the user
	if( dlg.AskForSaveFileName(this) )
	{
		saveFontName = dlg.GetFileName();

		// First start the generation
		fontGen->GeneratePages();

		// Let the time know what to do when the generation is finished
		whenGenerateIsFinished = 2;
		isGenerating = true;

		SetCursor(LoadCursor(0, IDC_WAIT));
	}
}
Пример #20
0
void COCCDemoDoc::OnDumpView() 
{
  // save current directory and restore it on exit
  char aCurPath[MAX_PATH];
  ::GetCurrentDirectory(MAX_PATH, aCurPath);

  ::SetCurrentDirectory(myLastPath);

  CFileDialog *aDlg = new CFileDialog(false, "gif", "OCCView.gif", 
    OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "GIF Files (*.gif)|*.gif||", NULL);

  int result = aDlg->DoModal();
  if ( result == IDOK) 
  {
    CString aFileName = aDlg->GetFileName();
    delete aDlg;

    POSITION pos = GetFirstViewPosition();
    while (pos != NULL)
    {
      COCCDemoView* pView = (COCCDemoView*) GetNextView(pos);
      pView->UpdateWindow();
    }       

    myViewer->InitActiveViews();
    Handle(V3d_View) aView = myViewer->ActiveView();
    char aStrFileName[MAX_PATH];
    strcpy(aStrFileName, aFileName);
    aView->Dump(aStrFileName);
  }
  else 
    delete aDlg;
  
  ::GetCurrentDirectory(MAX_PATH, myLastPath);
  ::SetCurrentDirectory(aCurPath);
}
Пример #21
0
void CInputTablePage::OnChangeDatabase() 
{
	// TODO: Add your control notification handler code here
	try
	{
		ASSERT (NULL != m_pParams);
		if ((MdbTable == m_pParams -> m_tImportType) || 
			(MdbTableOld == m_pParams -> m_tImportType))
			m_bOpenTyp = TRUE;
		else
			m_bOpenTyp = FALSE;

	//	Datei-Auswahl-Diolog öffnen
		CString strExt, strFilter, strCaption;
		VERIFY (strExt.LoadString (m_bOpenTyp ? IDS_DATABASE_EXTENSION : IDS_FOXPRO_EXTENSION));
		VERIFY (strFilter.LoadString (m_bOpenTyp ? IDS_MDB_FILTER : IDS_FOXPRO_FILTER));
		VERIFY (strCaption.LoadString (IDS_SELECT_DB_CAPTION));

		DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;		// voreingest.
		CFileDialog Dlg (TRUE, strExt, NULL, dwFlags, strFilter, this);

	//	Datenpfad ermitteln
		CString strDataPath (((CGakApp *) AfxGetApp ()) -> DatabaseName ());
		CString strDrive, strDir, strNewPath;
		char *pDrive = strDrive.GetBuffer (_MAX_DRIVE); 
		char *pDir = strDir.GetBuffer (_MAX_DIR);
		char *pNewPath = strNewPath.GetBuffer (_MAX_PATH);
		_splitpath (strDataPath, pDrive, pDir, NULL, NULL);
		_makepath (pNewPath, pDrive, pDir, NULL, NULL);

		Dlg.m_ofn.lpstrInitialDir = pNewPath;	// Pfad setzen
		Dlg.m_ofn.lpstrTitle = strCaption;
		if (IDOK != Dlg.DoModal ())
			AfxThrowUserException ();			// alles bleibt beim alten

	//	alten Set ggf. schließen
		if (m_pParams -> m_SourceSet.IsOpen ())
			m_pParams -> m_SourceSet.Close ();
		if (m_pParams -> m_SourceDatabase.IsOpen ())
			m_pParams -> m_SourceDatabase.Close ();

	//	alten Infos löschen
		m_lbTables.ResetContent ();
		m_edDatabase.SetWindowText ("");

	//	Database öffnen
		if (m_bOpenTyp)	// MDB-Datei
		{
			m_pParams -> m_SourceDatabase.Open (Dlg.GetPathName ());
												// FALSE,	/* nicht exclusiv */
												// TRUE);	/* read only */
			SetTableInfo (m_pParams -> m_tImportType, m_pParams -> m_tTableType);
		}
		else		// FOXPRO
		{
			CString strConnect;
			VERIFY (strConnect.LoadString (IDS_FOXPRO_CONNECT));
			_splitpath (Dlg.GetPathName (), pDrive, pDir, NULL, NULL);
			_makepath (pNewPath, pDrive, pDir, NULL, NULL);
			m_pParams -> m_SourceDatabase.Open (pNewPath, 
												FALSE,	/* nicht exclusiv */
												TRUE,	/* read only */
												_T(strConnect));	
			SetTableInfo (m_pParams -> m_tImportType, m_pParams -> m_tTableType);
		}

	//	Tabellen ausgeben
		int iCnt = m_pParams -> m_SourceDatabase.GetTableDefCount();
		CDaoTableDefInfo Info;
		for (short iIndex = 0; iIndex < iCnt; iIndex++)
		{
		//	primary info
			m_pParams -> m_SourceDatabase.GetTableDefInfo (iIndex, Info);	
			if (Info.m_lAttributes & dbSystemObject)	// keine
				continue;								// Systemtabellen

			if (m_lbTables.AddString (Info.m_strName) < 0)
				AfxThrowMemoryException ();
		}

	//	bei FOXPRO gleich Set öffnen
		if (!m_bOpenTyp)
		{
			m_pParams -> m_SourceSet.m_pDatabase = &m_pParams -> m_SourceDatabase;
			CString strSQL, strFileName;
			char *pFileName = strFileName.GetBuffer (_MAX_FNAME);
			_splitpath (Dlg.GetFileName (), NULL, NULL, pFileName, NULL);			
			AfxFormatString1 (strSQL, IDS_SELECT_ALL, pFileName);
			m_pParams -> m_SourceSet.Open (dbOpenSnapshot, strSQL, dbReadOnly);
			m_pParams -> m_strInputTableName = pFileName;
			m_lbTables.SelectString (-1, pFileName);
		}
		
	//	Name der Datenbank ausgeben
		m_edDatabase.SetWindowText (m_bOpenTyp ? Dlg.GetPathName () : pNewPath);
	}
	catch (CUserException *ue)
	{
		ue -> Delete ();		// hier Abbruch
	}
	catch (CException *e)
	{
		if (e -> IsKindOf (RUNTIME_CLASS (CDaoException)))
			:: DisplayDaoException ((CDaoException *) e);
		else
			e -> ReportError ();
		e -> Delete ();

		if (m_pParams -> m_SourceDatabase.IsOpen ())
			m_pParams -> m_SourceDatabase.Close ();
	}

	SetWizardButton ();	
}