asp+Com出现的问题,有部分源代码(50分)

  • 主题发起人 主题发起人 landina
  • 开始时间 开始时间
L

landina

Unregistered / Unconfirmed
GUEST, unregistred user!
我采用IIS+Win2000
asp语句:
<%
set production=Server.CreateObject("Test.Production")
production.productionname=request("productionid")
...//设置参数
production.addproduction
if err.number<>0 then
response.write err.description
response.end
end if
productionid=production.productionid//返回产品编号
response.redirect "../ProductionList.asp"
%>
AddProduction函数:
production AddProduction
begin
...//判断参数是否正确
with qryProductiondo
begin
try
Active := false;
SQL.Clear;
SQL.Add("Select * from Production Where Production is null");
Active := true;
Insert;
FieldByName('ProudctionName').value := FProudctionName;
...//字段赋值
Post;
FProductionID:=FieldByName('Production').AsInteger;
Active := false;
except
on E:Exceptiondo
begin
if State in [dsInsert,dsEdit] then
Cancel;
Active := false;
raise Exception.Create(E.message);
end;
end;
end;
end;

[red]问题:
当第一次增加时运行正常,当再次增加时记录时网页一直等待.并且无法结束进程.
只有等大约20-30分钟,系统才自动结束进程.[/red]
 
没释放对象???呵呵,不太了解
 
根据变量的作用范围,当此页执行完毕后,所有的变量由操作系统自动释放的啊
 
关注,我也遇到过这样的问题,这时被DLLHOST占用的内存会狂涨,一直没有找到是什么原因
 
现在我知道怎么解决但我不知道原因。
解决办法:保存好了以后,你redirect到静态页面(*.htm)即可。
 
production.close
 
to bonny:
一样的,也要等待
 
to landina:
我也在学习这方面的东西,我想问问你,你怎么调用com传回来的数据集呢?(可以有程序我看看吗)
希望不吝赐教。
我的邮箱:ivan526@21cn.com
 
接口返回参数可以用:Variant*

sample:

TEmployeee.Getemployee: OleVariant
begin

With qryEmployeedo

begin

Active := false;
SQL.Add(‘Select * from Employee’);
Active := true;
Result := RecordSet as ADODB_TLB.RecordSet;
Active := false;
end;

end;


Asp调用:
Set obj=Server.CreateObject(“Test.Employee”)
Set rs=obj.GetEmployee
使用rs变量即为Recordset对象
 
www.tol2002.com
就是采用asp+Com技术做的
在此处没有以上出现的情况
 
TEmployeee.Getemployee: OleVariant
这个函数是在com端呢还是在asp dll这端??
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
512
import
I
后退
顶部