Проблема с заголовком приложения DevCPP / VS для Windows (noob) - PullRequest
0 голосов
/ 28 октября 2010

Я работаю над учебным пособием Win32 по Forger на двух IDE: Dev C ++ и Visual Studio 2008. Я пытаюсь дублировать результаты в обоих.

Для этой страницы учебного пособия,Я не могу скомпилировать в Dev C ++ (Visual Studio работает нормально).Это модальное диалоговое окно.Код, о котором идет речь, находится в WndProc:

case ID_HELP_ABOUT:

  int ret = DialogBox(GetModuleHandle(NULL),
    MAKEINTRESOURCE(IDD_ABOUT),hwnd,AboutDlgProc);   //ERROR OCCURS HERE in Dev C++

  if(ret==IDOK) { MessageBox(NULL,"Dialog exited with OK","Notice",0); }
  else { MessageBox(NULL,"Dialog exited with EXIT","Notice",0); }

break;

Выдает следующие ошибки:

Simple3\main.c In function `WndProc': 
Simple3\main.c syntax error before "int" 
Simple3\main.c `ret' undeclared (first use in this function) 

Если я определю int ret; до этого момента, он компилируется,но командное окно открывается вместе с обычным приложением.

Я предполагаю, что мне не хватает заголовка.Я использую заголовки windows.h и afxres.h.Кто-нибудь может мне помочь?Заранее спасибо.

PS - действительно простой вопрос, в то время как я нахожусь в этом - какая разница между объявлением заголовков в угловых скобках или кавычках?Например, <windows.h> или "windows.h"?

1 Ответ

0 голосов
/ 28 октября 2010

Некоторые компиляторы ожидают добавления фигурных скобок между оператором Case и break. Попробуйте использовать его.

Я думаю, что так должно быть.

Кроме того, что касается <> и "" для объявления заголовков, угловые скобки указывают, что файл будет найден в каталогах по умолчанию, включенных в IDE. Принимая во внимание, что "" используется, когда вы хотите, чтобы файл находился в локальной папке проекта, а также в папке include.

...