C++Builder 程序员博客
15 Jul
当重新启动计算机时,会弹出错误消息 ;(申明:我的程序是随系统启动而启动的)
Error reading TrayIcon1->Visible:Cannot Create System Shell
我的程序中用到了TrayIcon控件
不知道是什么原因引起的,能避免吗?
这个问题我也遇到过,我现在加了一个群,这个群人气较好,也的确有高手,不但可以交流问题,而且还可以接项目赚钱,QQ群号是:陆.肆.柒.玖.捌.柒.贰.零,不要说我做广告,看看便知,如需要的话加入试试,如果你发现好的交流群也别忘了告诉我啊!呵呵!
当 TrayIcon1->Visible = true 时,再设置 TrayIcon1->Visible = true 则会报错。
那如何修改呢?
TrayIcon1 的控件的属性设置Visible为True
我只在程序中加了
//——————————————————–
void __fastcall TForm1::TrayIcon1Restore(TObject *Sender)
{
if(TrayIcon1-> Tag)
{
Position = poDesktopCenter;
Visible = true;
TrayIcon1-> Tag = 0;
}
}
//——————————————————–
我试着在程序中去掉其中一个,可结果不行
if(TrayIcon1->Visible==false)
TrayIcon1->Visible=true
谢谢楼上的提醒,不过还是不行
点击托盘图标,都弹不出窗体来
//——————————————————–
我进行了修改如下:点击托盘图标,可以弹出窗体,不知能否解决此问题
void __fastcall TForm1::TrayIcon1Restore(TObject *Sender)
{
if(TrayIcon1-> Tag)
{
Position = poDesktopCenter;
if(!Visible)
{
Visible = true;
}
TrayIcon1-> Tag = 0;
}
}
//---请问这个Visible与TrayIcon1->Visible有什么区别
直接用Visible应该是form的Visible吧
在主窗体的closequery中加入一个CLOSE试试,这样当电脑重启时,你的程序会自己退出
回楼上Gamehack的:
在主窗体的closequery事件里我已加了Application->Terminate(); 应该也退出了吧?
谢谢Loveshell
应该是Form的Visible ,因为在我测试时,我把Visible=false;点击托盘图标,无法显示窗体
那我写的下面这语句对TrayIcon1不起作用啊,
if(!Visible)
{
Visible = true;
}
但我没有在其它地方设TrayIcon1->Visible=true