当前位置:主页>仓库管理软件> 列表

一个非常痛苦的问题。 找金蝶财务软件的好处

财务软件版1楼: 我最近做的一个软件有这样一个问题:
开发环境:Windows2000 pr+D6+Access2003
运行环境:WindowsXP(英文版)+Access2000
在运行时,出现点击按钮(BitButton)后有动作但未执行代码的现象,偶尔会执行一次,其他按钮(类型相同)一切正常。
开始一切正常在该软件运行大约5小时,操作系统运行10小时时发生,此时该按钮被点击300余此,关闭软件后重新打开仍然不起作用,运行其他程序正常,然后再运行该程序仍然不正常,(仅一个按钮不正常,其他按钮没有问题),重新启动操作系统后,运行该软件正常了。
请问这是怎么回事,我怀疑是操作系统消息出了什么问题?????

2楼: 出问题的按钮的代码如下:
procedure TMain_frm.bbt_startClick(Sender: TObject);
var
str:string;
begin
if(ZZCJ.Checked <> true) then exit;//ZZCJ右键快捷菜单的一项
{ if(bJS = true) then
begin
bJS :=false;
if(bKeyUp = false)then
begin
exit;
end;

end;
bKeyUp := false; }
if(StrToInt(Lb_sy.Caption)<=0)then//Lb_sy是Label


begin
Tm_show.Enabled :=false;
bbt_start.Caption:= ''开始'';
exit;
end;
if (Tm_show.Enabled = true){and(bbt_start.Caption <> ''开始'')}then//Tm_show是Timer
begin
bbt_start.Caption:= ''开始'';
Tm_show.Enabled := false;
CJControl();

end
else
begin
bbt_start.Caption := ''结束'';
Tm_show.Enabled :=true;
end;
end;
按右键检查ZZCJ.Checked是True 如手机进销存管理系统

3楼: 帮顶!

╭=========================================╮

80G海量源代码,控件,书籍全免费狂下不停!

http://www.source520.com

╰=========================================╯

4楼: 就凭上面的代码无法确定准确发生问题的地方,
我猜测有2个因素的共同作用所造成的结果,
也许你的程序的原因,也许其它程序的原因,使得操作系统运行多个小时后性能急速下降,
而你的CJControl过程假设是要运行大量工作,而造成按下按钮的时候前一次的工作还没有做完,于是产生了“未执行代码的现象”。
以上的猜测还是只是提供楼主参考。

5楼: If Tm_show.Enabled = true Then
改成 [b]if Tm_show.Enabled Then[/b]

6楼: If Tm_show.Enabled = true Then
改成 if Tm_show.Enabled Then

财务软件版7楼: 是不是逻辑错了?
将这个按钮的代码变为只显示当前时间,
如果按你的条件执行后也能正常显示,则是你的逻辑部分有问题.

8楼: 但是我的软件,在开始的时候运行的很好没有问题,一起正常。
而且我们也进行了测试(不过不是那台机器)。

而且我在关闭程序后再重新运行,还是这个按钮不正常,其他的按钮都正常,
用户点击速度很慢CJControl也不复杂,再就是开始无法变成结束,所以应该不是CJControl的原因吧。如果是Windows性能下降为什么运行其他程序没有问题呢,而且运行的速度并不慢。

9楼: 逻辑错了吧!

10楼: 在WindowsXP(英文版)+Access2000的机器上装上D6,把你的程序编译一下,设个断点找找原因不是更好;
怀疑和OS有关系

11楼: 另外 If Tm_show.Enabled = true Then


和 if Tm_show.Enabled Then
应该是一样的

12楼: 当时所有的操作都是重复的,
其实这个按钮我还用了两个事件MouseDown和MouseUp事件代码分别是:
image2.Visible :=true;
image2.Visible :=false;
而且这个图片出现时是在按钮的位置,但是按钮是在最上方的,测试时没有问题,在那台机器上运行了很长时间也没有问题。 如金蝶财务软件的好处

13楼: 恍惚记得 TImage 存在内存泄露的问题