注册 登录
编程论坛 Delphi论坛

编译时出现问题

kaixinyu038 发布于 2006-12-14 21:36, 557 次点击
我在编译时出现这个问题:“应用程序发生异常 unknown software exeption (0xc00000fd),位置为0x37f034c8。”
我网上查了说是内存泄露,我不是很明白,请大家帮帮忙,小弟在此谢过了
4 回复
#2
nongen2006-12-15 09:02
代码?
#3
volte2006-12-15 15:39

对象创建后,
在关闭时候,要进行对象的释放。

否则会出现内存泄漏
搂住可以查看一下自己的某些对象有没有被释放!

#4
kaixinyu0382006-12-15 19:23

我刚学DELPHI,下面是代码:
begin
try
//检查验证输入的口令正确,则进入主操作界面
Query.SQL.Add('select * from 操作人员表 where (用户名=:username)and(口令=: userpwd)');
Query.parameters.paramByName('username').value:=DBcomboBox1.text;
Query.parameters.paramByName('userpwd').value:=edit.text;
Query.ExecSQL;
if DBcomboBox1.text='管理员' then
begin
if edit.text='830722' then
begin
Query.close;
Query.free;
frmmain.show;
frmmain.hide;
edit.clear;
end;
begin
MeggageDlg('请输入正确的口令',mterror,[mbok],0);
edit.clear;
end;
end;
if DBcomboBox1.text='操作员'then
begin
if edit.text='123456' then
begin
Query.close;
Query.free;
frmmain.show;
frmmain.hide;
edit.clear;
end;
begin
MeggageDlg('请输入正确的口令',mterror,[mbok],0);
edit.clear;
end;
end;
execpt
MessageDlg('连接数据库出错!',mterror,[mbok],0);
end;
end.



我是实现用户名的内容是“管理员”和“操作员”2个选其中一个,就这么简单。大家帮帮我啊,我这不懂!



#5
nongen2006-12-16 13:47
try
query.sql.clear;
Query.SQL.Append('select * from 操作人员表 where 用户名='''+comboBox1.text+'''');
query.sql.open;
if query.sql.fieldbyname('口令').asstring=edit.text then
begin
if combobox1.text='管理员' then
begin
{执行内容}
end
else
if combobox1.text='操作员' then
begin
{执行内容}
end;
end
else
begin
MeggageDlg('请输入正确的口令',mterror,[mbok],0);
edit.clear;
edit.SetFocus;
end;
execpt
MessageDlg('连接数据库出错!',mterror,[mbok],0);
end;
*****************
这里用combobox,不用dbcombobox,还有edit不用dbedit
在之前应该给combobox赋初值。
直接用dbcombobox的话,程序异常中止有一定机率会导致数据库产生错误。

[此贴子已经被作者于2006-12-16 13:51:01编辑过]

1