|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.06.2020, 14:38 | #1 |
Форумчанин
Регистрация: 19.05.2009
Сообщений: 153
|
Проблема с запуском диалогового приложения
Есть файл LunarMissionsOrbits.cpp для главного класса приложения и файл LunarMissionsOrbitsDlg.cpp для главного диалога приложения.
Вот эти файлы: 1) файл LunarMissionOrbits.h : Код:
2) файл LunarMissionOrbits.cpp : Код:
|
04.06.2020, 14:42 | #2 |
Форумчанин
Регистрация: 19.05.2009
Сообщений: 153
|
3) файл LunarMissionOrbitsDlg.h :
Код:
|
04.06.2020, 14:45 | #3 |
Форумчанин
Регистрация: 19.05.2009
Сообщений: 153
|
4) файл LunarMissionOrbitsDlg.cpp :
[CODE]// LunarMissionOrbits2Dlg.cpp : implementation file // #include "stdafx.h" #include "LunarMissionOrbits2.h" #include "LunarMissionOrbits2Dlg.h" #include "afxdialogex.h" #include "Satellite.h" #include "MyMFCButton.h" #include "MyMFCButton2.h" #include "FlightToMoonDlg.h" #include "FlightAroundMoonDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif #pragma warning(disable : 4996) // Диалоговое окно CAboutDlg используется для описания сведений о приложении NewSatInit st; Satellite *sat; // CAboutDlg dialog used for App About class CAboutDlg : public CDialogEx { public: CAboutDlg(); // Dialog Data enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support // Implementation protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExch ange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP() // CLunarMissionOrbits2Dlg dialog CLunarMissionsOrbitsDlg::CLunarMiss ionsOrbitsDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CLunarMissionsOrbitsDlg:: IDD, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CLunarMissionsOrbitsDlg::DoDataExch ange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDOK, m_IDOK); DDX_Control(pDX, IDC_MFCBUTTON1, m_IDC_MFCBUTTON1); DDX_Control(pDX, IDC_MFCBUTTON2, m_IDC_MFCBUTTON2); DDX_Control(pDX, IDC_MFCBUTTON3, m_IDC_MFCBUTTON3); DDX_Control(pDX, IDC_STATIC1, m_IDC_STATIC1); DDX_Control(pDX, IDC_STATIC2, m_IDC_STATIC2); } BEGIN_MESSAGE_MAP(CLunarMissionsOrb itsDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_WM_CTLCOLOR() ON_BN_CLICKED(IDC_MFCBUTTON1, &CLunarMissionsOrbitsDlg::OnBnClick edMfcbutton1) ON_BN_CLICKED(IDC_MFCBUTTON2, &CLunarMissionsOrbitsDlg::OnBnClick edMfcbutton2) ON_BN_CLICKED(IDOK, &CLunarMissionsOrbitsDlg::OnBnClick edOk) END_MESSAGE_MAP() |
04.06.2020, 14:48 | #4 | |
Форумчанин
Регистрация: 19.05.2009
Сообщений: 153
|
5) файл LunarMissionOrbitsDlg.cpp (окончание):
Код:
Код:
Код:
Цитата:
(Проект был перенесён с другого компьютера, на котором стоит Visual Studio 2010--там всё нормально работает, а на этой машине Visual Studio 2012--и вот такие проблемы). |
|
05.06.2020, 14:12 | #5 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 960
|
erslgoeirjh,
Видимо, фреймворк не может создать диалог из ресурса. Скорее всего это из-за наличия на нём каких-то контролов с не инициализированными для работы классами (обычно для этого нужно вызвать один раз какую-нибудь Afx* функцию в начале InitInstance) Как это проверить - сделай тестовую ветку проекта, в ней удали все контролы с диалога. Добейся удачной компиляции (нужно будет закомментировать все упоминания контролов-промоушенов (они перечислены у тебя в DoDataExchange ) ) после этого диалог должен начать создаваться (хотя, будет падать из-за отсутствия контролов с нужными IDC_* , но это уже к делу не относится) далее нужно будет выяснить, какой именно контрол вредничает - откатить ветку, затем удалять по одному подозрительному контролу и пытаться запускать ------------------ прикрепи проект в zip, никто не будет копаться в этой рассыпухе. Только удали Release Debug *.ncb *.aps *.exe |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сериализация диалогового приложения | ninja2 | Visual C++ | 1 | 22.08.2015 11:23 |
Проблема с запуском приложения | -Jack- | Общие вопросы Delphi | 11 | 27.01.2014 11:03 |
Проблема с запуском приложения | Oberok | Qt и кроссплатформенное программирование С/С++ | 2 | 04.03.2012 12:21 |
Проверка на существование БД перед запуском приложения | Fantom | БД в Delphi | 7 | 08.09.2008 23:09 |