为什么我的程序运行时会出现参数错误的提示?(100分)

  • 主题发起人 主题发起人 heron
  • 开始时间 开始时间
H

heron

Unregistered / Unconfirmed
GUEST, unregistred user!
程序运行时有时会出现参数错误的提示,但是重新启动后在同样的地方却很正常,
而且这种错误提示出现好像没有什么规律,一般在打开一个窗口时候,出现的机率
会大一点,我的程序是用D5写的,我都快疯了,谁能帮帮我?
 
请给出错误的提示。
 
提示就是"参数错误"四个汉字(在98下运行程序)
 
我也碰到过
GZ
 
我也碰到,最好少用第三方控件。还有给该机器重装WINDOWS
 
很多情况下出这个问题是因为系统资源消耗殆尽。
看一下你的程序是否在启动的时候就将所有窗体Create了,记住,动态创建窗口,需要的时候再创建,用完后马上释放。
这样会好一些。
 
可是我只创建了除主窗体外的三到四个子窗体呀?help
 
是否涉及数据库、报表等耗费资源比较多的东西。
不定期出现这个问题,还有一个原因就是资源没有释放,但是这种可能性不大呀。
 
yzhshi说的有道理。
 
怎样才算彻底释放了资源?
 
如果原因是这个的话,可能是你的机器内存比较小之类的本身而至,最好是把少运行一些其它的应用
(我看到很多人的机器,在启动后托盘里一堆的图标,机器好还好,机器要是不行的话,hehe)
释放资源?在每次用完对象用马上析构之,比如说form用动态生成,用之前才create,用完后free就可以了
 
可我的机器可是CII950,256M内存呀?问题出在哪里呢?
 
这个和你的配置是有关系,不过关系不大。
比如我计算机128M内存,能够开两个D5、一个powerdesigner、一个Word,再开其他的就可能内存不够。
现在加到256M,同样也是开这些,再继续开,也不行。
 
我给你一段代码是用来调用动态建立窗体的
声明时
type
TFmain = class(TForm)
Tsz: TToolButton;procedure FormCreate(Sender: TObject);
procedure ShowForm(FormClass: TFormClass);
private
{ Private declarations }
Published
{ Public declarations }

procedure Tfmain.ShowForm(FormClass: TFormClass);
begin

With FormClass.Create(self) do
try
ShowModal;
finally
Free;
end;
end;
procedure TFmain.TszClick(Sender: TObject);
begin
showform(TFSZ);//Tfsz是你的动态建立的窗体
end;
 
可我就只有打开一个程序(已经在D5下编译),连资源管理器都关闭了,结果还是一样
 
对呀,这就说明是你的程序占用的资源问题啦,是不是申请了n多资源,用完了,没有释放,需要的时候再次申请,这样,不知道到那一步资源就没了,
就会出现参数错误的提示,然后很难将程序关闭都。
 
我也有过这样的问题,继续关注
 
请问如何释放资源?
 
to heron:
我也不太清楚,但是我通常认为,
先是close
接着free
就可以了!
 
难道不是Close之后就自动释放资源了吗?
如果不是的话,我应该在什么时候释放资源呢?
是在窗体的Close事件中吗?
是不是我所定义的每一个变量都必须手工释放?
如果我定义了全局变量应该在什么时候释放呢?
初学Delphi,问题多多,还望各位前辈不吝赐教,谢谢!
 
后退
顶部