BEGIN expected in dialog

我在 Win32 下加入了一個 dialog,由於 code 是與 WinCE 平台共用的,所以當我在 Win32 build OK,但是在 WinCE 下卻會出現問題。

1>.\WinCE60.rc(86) : error RC2112 : BEGIN expected in dialog
1>.\WinCE60.rc(86) : error RC2135 : file not found: 0x0
1>.\WinCE60.rc(88) : error RC2135 : file not found: 1096

在 .rc 檔內的相關 code 是:

IDD_DIALOG1 DIALOGEX 0, 0, 163, 111
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "COM Port Setting"
FONT 10, "System", 700, 0, 0x0
BEGIN

我們來看一下沒問題的 dialog:

IDD_WINCE60_DIALOG DIALOG  0, 0, 130, 90
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW | 0x80000000L
FONT 8, "MS Shell Dlg"
BEGIN

看來問題是發生在一個是 Dialog 一個是 DialogEx,其 FONT 最後三個參數不一致。
解決方式是將 FONT 最後三個參數移除,便可以在 Win32/WinCE 同時 build OK。

至於功能會不會出問題,待驗證。

留言

熱門文章