| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 651 人关注过本帖
标题:用Delphi7开发了个ASP定时组件不能用,why?
取消只看楼主 加入收藏
jw8228
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-17
收藏
 问题点数:0 回复次数:3 
用Delphi7开发了个ASP定时组件不能用,why?

我用Delphi7开发了个ASP定时组件代码如下:
unit Main;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
Windows,Dialogs,ComObj, ActiveX, AspTlb, Timer_TLB, StdVcl;

type
Tsleep = class(TASPObject, Isleep)
private
st:Longint;
proc:TFarProc;
lhnd:THandle;
protected
procedure OnEndPage; safecall;
procedure OnStartPage(const AScriptingContext: IUnknown); safecall;
function Get_stime: Integer; safecall;
procedure Set_stime(Value: Integer); safecall;
procedure SleepTime; safecall;
end;

implementation

uses ComServ;
type
TSleeps = procedure(dwMilliseconds:WORD);stdcall;//dwMilliseconds sleep time in milliseconds
var
ts:TSleeps;
procedure Tsleep.OnEndPage;
begin
inherited OnEndPage;
end;

procedure Tsleep.OnStartPage(const AScriptingContext: IUnknown);
begin
inherited OnStartPage(AScriptingContext);
end;

function Tsleep.Get_stime: Integer;
begin
Result:=st;
end;

procedure Tsleep.Set_stime(Value: Integer);
begin
st:=Value;
end;

procedure Tsleep.SleepTime;
begin
lhnd:=LoadLibrary('kernel32.dll');
if lhnd>0 then
begin
try
proc:=GetProcAddress(lhnd,Pchar('Sleep'));
if proc<>nil then
begin
ts:=TSleeps(proc);
ts(st);
end
else
ShowMessage('函数没有找到');
finally
FreeLibrary(lhnd);
end//end try
end
else
begin
ShowMessage('dll没找到');
end;
end;

initialization
TAutoObjectFactory.Create(ComServer, Tsleep, Class_sleep,
ciMultiInstance, tmApartment);
end.
编译生成Timer.dll,拷贝到C:\windows\system32下,regsvr32 Timer.dll,注册成功
在ASP中的代码如下:
<HTML>
<BODY>
<TITLE> Testing Delphi ASP </TITLE>
<CENTER>
<H2> Timer测试 </H2>
</CENTER>
<HR>
<% Set DelphiASPObj = Server.CreateObject("Timer.sleep")
DelphiASPObj.stime=3000
response.write DelphiASPObj.stime&"<br><br>"
DelphiASPObj.SleepTime
response.write DelphiASPObj.stime&"<br><br>"
DelphiASPObj.SleepTime
response.write DelphiASPObj.stime&"<br><br>"
DelphiASPObj.SleepTime
Set DelphiASPObj =nothing
%>
<HR>
</BODY>
</HTML>
但是ASP页面根本就显示不出来,请教如何解决?怎么样可以让属性值被定期读出?在线等待答案…………………………
附件是程序包

搜索更多相关主题的帖子: 组件 why ASP 开发 
2007-04-17 11:47
jw8228
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-17
收藏
得分:0 


2007-04-17 13:58
jw8228
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-17
收藏
得分:0 
stime属性,就是用来接收设置的等待时间的

2007-04-17 14:00
jw8228
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-17
收藏
得分:0 
已经有些眉目了,经过调试发现,原来是在载入API函数sleep()时没有成功,我是否应该静态载入API函数呢?
大家讨论一下,好东西大家分享吗o(∩_∩)o……

2007-04-19 08:51
快速回复:用Delphi7开发了个ASP定时组件不能用,why?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017470 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved