UG二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突

在UG二次开发中,若使用MFC库,一旦加上#include头文件,下面这句话就报错

theDialog = GetPoints::theUI->CreateDialog(theDlxFileName);

解决CreateDialog函数在UI.hxx文件和WinUser.h中的冲突

UG二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突_第1张图片

在windows API中已经将CreateDialog定义为宏 CreateDialogW,如下图WinUser.h中

UG二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突_第2张图片

当编译到UI.hxx中时,CreateDialog函数背当作CreateDialogW函数,从而产生矛盾

UG二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突_第3张图片

解决方法是在UI.hxx中加上一句 #undef CreateDialog,意为取消CreateDialog的宏定义

UG二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突_第4张图片

你可能感兴趣的:(UG二次开发)