如何创造一个程序在一个窗体存在时一直运行啊?

wbiyr 2004-12-23 05:00:34
如果释放了这个窗体的内存,那个程序也跟着消失。我主要是要对研华的板卡进行I/O控制。想在一个窗体程序运行时控制板卡。
...全文
111 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
有哥 2004-12-23
  • 打赏
  • 举报
回复
字打多了就容易错:bool bClose;
有哥 2004-12-23
  • 打赏
  • 举报
回复
为窗体设置一个bool属性如:bool bClose();
Form1::Show()
{
bClose=false;
while(!bClose)
{
{打开端口 PortNumber}
Application->ProcessMessages();
if (iCount>60) {关闭端口;PortNumber=NewValue;iCount=0}
}
}

计时
Timer::Timer {iCount++;}

处理关闭事件
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
if (!bClose)
{
bClose=true;
CanClose=false;
}
else
CanClose=true;
}

wbiyr 2004-12-23
  • 打赏
  • 举报
回复
是啊。主要是用timer组件不是很好用。就是说打开板卡之后,我想直接计时,而等计时结束变换板卡的端口。反复。这样的过程一直持续到窗体关闭
csrwgs 2004-12-23
  • 打赏
  • 举报
回复
可以在一个Timer里循环采集、处理数据
楼主用研华的板子作采集吧?
wbiyr 2004-12-23
  • 打赏
  • 举报
回复
可能是我说得不清楚。我是先打开I/O某几个端口。然后开始计时。时间一到。这些端口自动关闭,然后在打开另外一些端口(可嫩和上次的有重复)。如此反复。直到窗体被delete掉。这些控制要求从从这个窗体创键开始就执行
有哥 2004-12-23
  • 打赏
  • 举报
回复
不要把处理代码放在窗体里,在工程文件里:
TForm *Form1=new TForm1(Application);
Form1->Show();
do
{
/*
你的处理
*/
Application->ProcessMessages();

}while(Form1)
wbiyr 2004-12-23
  • 打赏
  • 举报
回复
我主要是想开始就运行它,一直到这个窗口delete掉。但是在oncreat事件中只是触发一次啊,我想一直触发它
ynotgo 2004-12-23
  • 打赏
  • 举报
回复
我理解错了

以为哪个窗口和你想做的程序不是一个呢
ynotgo 2004-12-23
  • 打赏
  • 举报
回复
不停的检测窗体所属的进程应该可以吧
象很多提取系统进程信息的小程序一样

但具体我就不知道了,没做过
lihongxing2002 2004-12-23
  • 打赏
  • 举报
回复
在窗体的close事件中,写代码,结束那个程序的进程

13,871

社区成员

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

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