无效的窗口句柄,该如何处理
无效的窗口句柄
程序中收到正确的数据后,创建一个Panel,但是创建后,关闭窗口的时候就提示“无效的窗口句柄”。代码如下:
TMyCard::TMyCard(int left,int top,TWinControl* pComponet,CCleanProcess* p)
{
Left = left;
Top = top;
color1 = clGreen;
Panel = new TsuiPanel(pComponet);
Panel->UIStyle = WinXP;
Panel->Left = Left;
Panel->Top = Top;
Panel->Width = CARD_WIDTH;
Panel->Height = CARD_HEIGHT;
Panel->Visible = true;
Panel->Color = color1;
Panel->Parent = pComponet;
Panel->Caption = "";
//Panel->BevelInner = bvNone;
//Panel->BevelOuter = bvNone;
Panel->Show();
}
当我把从:Panel = new TsuiPanel(pComponet);开始以后的都屏蔽掉,则不报错。
析构函数如下:
TMyCard::~TMyCard()
{
Panel->Hide();
delete Panel;
}
另外一个问题是,当Panel创建好后,我用鼠标点击Panel或窗体其他地方,则软件死了。
请问各位大虾,这到底是怎么回事啊?????
注:我这个是从另个软件改过来的,之前软件都是正常的,原来是用网络通讯,现在改为CAN通讯,其余的都是一样的,但是现在却报错了。
------解决方案--------------------
貌似没有定义Panel ?
加个定义。
程序中收到正确的数据后,创建一个Panel,但是创建后,关闭窗口的时候就提示“无效的窗口句柄”。代码如下:
TMyCard::TMyCard(int left,int top,TWinControl* pComponet,CCleanProcess* p)
{
Left = left;
Top = top;
color1 = clGreen;
Panel = new TsuiPanel(pComponet);
Panel->UIStyle = WinXP;
Panel->Left = Left;
Panel->Top = Top;
Panel->Width = CARD_WIDTH;
Panel->Height = CARD_HEIGHT;
Panel->Visible = true;
Panel->Color = color1;
Panel->Parent = pComponet;
Panel->Caption = "";
//Panel->BevelInner = bvNone;
//Panel->BevelOuter = bvNone;
Panel->Show();
}
当我把从:Panel = new TsuiPanel(pComponet);开始以后的都屏蔽掉,则不报错。
析构函数如下:
TMyCard::~TMyCard()
{
Panel->Hide();
delete Panel;
}
另外一个问题是,当Panel创建好后,我用鼠标点击Panel或窗体其他地方,则软件死了。
请问各位大虾,这到底是怎么回事啊?????
注:我这个是从另个软件改过来的,之前软件都是正常的,原来是用网络通讯,现在改为CAN通讯,其余的都是一样的,但是现在却报错了。
------解决方案--------------------
貌似没有定义Panel ?
加个定义。