以Delphi6为例:
1. 请把Tools->Environment options->Type Library->Language设为Pascal。
2. Tools->New->Others->ActiveX->ActiveX Library,保存该Project,如工程保存为Qwe。
3. Tools->New->Others->ActiveX->Automation Object,输入类名,如Abc,在ASP中就可以用
Server.CreateObject("Qwe.Abc")建立COM组件的实例了。
4. 在类型库(本例为Qwe.tlb,按Ctrl+F12,选择Qwe_TLB,按F11就可以显示类型库了)中选择
接口IAbc,选择右键菜单New->Method,设新建方法名称为Method1,在右边的PageControl中选择
Parameters页,Return type选为OleVariant,选择工具栏中Refresh implementation,Delphi会
生成接口等源码。
5. 在Method1相应的方法体内填写代码。
如(以下代码纯属演示,由于效率原因,实际代码应采取数据库连结池等方式连接数据库):
uses
ADOInt, ADODB,
...
function TAbc.Method1: OleVariant;
var
ADOConnection:TADOConnection;
begin
ADOConnection:=TADOConnection.Create(nil);
try
ADOConnection.ConnectionString:='xxxxxxxxxxxxxx';
ADOConnection.Open;
try
Result:=ADOConnection.Execute('select * from xxx');
finally
ADOConnection.Close;
end;
finally
ADOConnection.Free;
end;
end;
6. 编译,Run->Register ActiveX Server.
7. ASP中
Set obj=Server.CreateObject("Qwe.Abc")
Set v=obj.Method1
while v.EOF=false
.............
v.MoveNext
wend
8. That's all. Thank you.