热键定义报警,为何?如何修正?

weill 2005-12-24 09:49:40
代码如下:
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
private: // User declarations
public: // User declarations
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_HOTKEY, TMessage, OnHotKey)
END_MESSAGE_MAP(TForm);
__fastcall TForm1(TComponent* Owner);
bool __fastcall GetScreen(Graphics::TBitmap *bmp);
void __fastcall OnHotKey(TMessage &Msg);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

报警提示:
[C++ Warning] Unit1.h(18): W8027 Functions containing switch are not expanded inline

为何?如何修正?
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weill 2005-12-24
  • 打赏
  • 举报
回复
OK,谢谢两位大哥。
constantine 2005-12-24
  • 打赏
  • 举报
回复
#pragma option push -vi- //告诉编译器此部分代码不进行内联优化。
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_HOTKEY, TMessage, OnHotKey)
END_MESSAGE_MAP(TForm);
....
#pragma option pop

把消息影射写在中间就可以了
weill 2005-12-24
  • 打赏
  • 举报
回复
倒……呵呵……怎么从根子上除它啊,比如,移到别的地方去定义它(该移哪去)。
ccrun.com 2005-12-24
  • 打赏
  • 举报
回复
如果不管用就换成这个:
#pragma warn -8027
ccrun.com 2005-12-24
  • 打赏
  • 举报
回复
声明为内联的函数不能包含switch,可以忽略不管。
也可以在代码中添加一句:
#pragma warning(disable: 8027)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧