TFrame中不能使用自定义消息吗???

draculamx 2018-01-15 10:42:26

#ifndef FrameConnUnitH
#define FrameConnUnitH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Mask.hpp>
#include <Vcl.ExtCtrls.hpp>

#include "tcpClientThreadUnit.h"
//---------------------------------------------------------------------------
class TFrameConn : public TFrame
{
__published: // IDE-managed Components
TButton *btnConnect;
TButton *btnClose;
TGroupBox *GroupBox1;
TLabel *Label1;
TLabel *Label2;
TLabel *lblConn;
TLabel *lblReadCount;
TMaskEdit *txtIP;
TMaskEdit *txtPort;
TButton *btnWriteFile;
TGroupBox *GroupBox2;
TLabel *lblFileName;
TLabel *lblWriteBytes;
TLabel *lblTimeSpan;
TMemo *momRev;
TCheckBox *chbShowData;
TButton *btnClear;
void __fastcall btnConnectClick(TObject *Sender);
void __fastcall btnCloseClick(TObject *Sender);
void __fastcall btnWriteFileClick(TObject *Sender);
void __fastcall btnClearClick(TObject *Sender);
private: // User declarations
void __fastcall UpdateStatus(TMessage &Msg);
void __fastcall Receive(TMessage &Msg);

public: // User declarations
__fastcall TFrameConn(TComponent* Owner);

bool m_bConn;
bool m_bWriteFile;
LONGLONG m_ReadCount,m_WriteBytes;
String m_FilePath;
int m_FileHandle;
DWORD m_RecordTime;

CRITICAL_SECTION m_cs;
CTCPClientThread m_tcpClientThread;

BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_UPDATESTATUS, TMessage, UpdateStatus)
MESSAGE_HANDLER(WM_TCPCLIENTREV, TMessage, Receive)
END_MESSAGE_MAP(TFrameConn)
};
//---------------------------------------------------------------------------
extern PACKAGE TFrameConn *FrameConn;
//---------------------------------------------------------------------------
#endif


这是一个TFrame的头文件,里面定义了两个自定义消息,编译没有问题,当运行的时候,弹出错误:
stack overflow at 0x00404db8

这尼玛也不知道错在哪里。。。这个错误提示也几乎没有给出任何信息。。
只是代码停在了:BEGIN_MESSAGE_MAP 这一行

TFrame 是不是不能用自定义消息,只有TForm能用??不会吧。。。
...全文
442 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2018-01-15
  • 打赏
  • 举报
回复
draculamx 2018-01-15
  • 打赏
  • 举报
回复
自己SB了。。。原来这段代码是在一个Form里面,我粘贴过来的,有一个地方写错了。。。 BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_UPDATESTATUS, TMessage, UpdateStatus) MESSAGE_HANDLER(WM_TCPCLIENTREV, TMessage, Receive) END_MESSAGE_MAP(TFrameConn) END_MESSAGE_MAP(TFrameConn)应该是END_MESSAGE_MAP(TFrame)才对。。这样就没问题了。。 自己傻逼了。。。。
ooolinux 2018-01-15
  • 打赏
  • 举报
回复
TFrame最终不是还要嵌入具体的TForm中吗,把消息映射移到Form中试试。

13,824

社区成员

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

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