C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 42 - Когда напрямую внешнюю инициализацию провести нельзя / Диалоговые окна / Visual C++

Шаг 42 - Когда напрямую внешнюю инициализацию провести нельзя

Когда связь через DDX производится с помощью элемента управления, а не переменной:

class CMyDialog : public CDialog
{
// Construction
public:
	CMyDialog(CWnd* pParent = NULL);   // standard constructor

	// Dialog Data
	//{{AFX_DATA(CMyDialog)
	enum { IDD = IDD_DIALOG1 };
	CEdit	m_Ed1;
	CString	m_Ed2;
	//}}AFX_DATA
.........
};

Пробуем произвести инициализацию:

void CTest6Doc::OnTestTest() 
{
	cm.m_Ed1.SetWindowText("Test");
	cm.m_Ed2 = "extern";
	cm.DoModal(); 
}

Несмотря на то, что код написан правильно и программа соберется.

42_1.gif (8606 b)

В программе находится логическая ошибка, которая приводит к исключению.

42_2.gif (6136 b)

Связано это с тем, что элемент управления еще не создан и попытка передачи данных не корректная.


| |
Автор Каев Артем.
[AD]