unit Unit1;{$WARN SYMBOL_PLATFORM OFF}interfaceuses
ComObj, ActiveX, AspTlb, zm_TLB, StdVcl,SysUtils;type
TData_Link = class(TASPObject, IData_Link)
protected
procedure OnEndPage; safecall;
procedure OnStartPage(const AScriptingContext: IUnknown); safecall;
function ConnectData: OleVariant; safecall;
procedure GetString; safecall;
end;implementationuses ComServ;var Link_String : String;procedure TData_Link.OnEndPage;
begin
inherited OnEndPage;
end;procedure TData_Link.OnStartPage(const AScriptingContext: IUnknown);
begin
inherited OnStartPage(AScriptingContext);
end;
procedure TData_link.GetString ;
Var IniFileName: String;
F1:TextFile;
begin
IniFileName := 'C:\WINNT\SYSTEM32\ZM_DATA.INI';
If Not(FileExists(IniFileName)) Then
Begin
Response.Write('发现故障性错误,请稍后操作');
Response.End_ ;
End;
AssignFile(F1,IniFileName);
Reset(F1);
Link_String := '';
Readln(F1,Link_String);
CloseFile(F1);
end;function TData_Link.ConnectData: OleVariant;
var Conn : OleVariant;
rs:OleVariant;
sql:String;
begin
GetString;
Conn := CreateOleObject('ADODB.Connection');
rs := CreateOleObject('ADODB.Recordset');
Conn.open(Link_String);
sql := 'Select * From hotelmain';
result := rs.open (sql,conn,1,1,1);
end;initialization
TAutoObjectFactory.Create(ComServer, TData_Link, Class_Data_Link,
ciMultiInstance, tmApartment);
end.asp中:<%
Dim rs
Dim DelphiASPObj
Set DelphiASPObj = Server.CreateObject("zm.Data_link")
Set rs = DelphiASPObj.ConnectData
Do while not rs.eof
response.write rs("id")&"<br>"
rs.movenext
Loop
%>
错误 :
Microsoft VBScript 运行时错误 错误 '800a01a8' 缺少对象: 'ConnectData' /Data_link.asp,行5
ComObj, ActiveX, AspTlb, zm_TLB, StdVcl,SysUtils;type
TData_Link = class(TASPObject, IData_Link)
protected
procedure OnEndPage; safecall;
procedure OnStartPage(const AScriptingContext: IUnknown); safecall;
function ConnectData: OleVariant; safecall;
procedure GetString; safecall;
end;implementationuses ComServ;var Link_String : String;procedure TData_Link.OnEndPage;
begin
inherited OnEndPage;
end;procedure TData_Link.OnStartPage(const AScriptingContext: IUnknown);
begin
inherited OnStartPage(AScriptingContext);
end;
procedure TData_link.GetString ;
Var IniFileName: String;
F1:TextFile;
begin
IniFileName := 'C:\WINNT\SYSTEM32\ZM_DATA.INI';
If Not(FileExists(IniFileName)) Then
Begin
Response.Write('发现故障性错误,请稍后操作');
Response.End_ ;
End;
AssignFile(F1,IniFileName);
Reset(F1);
Link_String := '';
Readln(F1,Link_String);
CloseFile(F1);
end;function TData_Link.ConnectData: OleVariant;
var Conn : OleVariant;
rs:OleVariant;
sql:String;
begin
GetString;
Conn := CreateOleObject('ADODB.Connection');
rs := CreateOleObject('ADODB.Recordset');
Conn.open(Link_String);
sql := 'Select * From hotelmain';
result := rs.open (sql,conn,1,1,1);
end;initialization
TAutoObjectFactory.Create(ComServer, TData_Link, Class_Data_Link,
ciMultiInstance, tmApartment);
end.asp中:<%
Dim rs
Dim DelphiASPObj
Set DelphiASPObj = Server.CreateObject("zm.Data_link")
Set rs = DelphiASPObj.ConnectData
Do while not rs.eof
response.write rs("id")&"<br>"
rs.movenext
Loop
%>
错误 :
Microsoft VBScript 运行时错误 错误 '800a01a8' 缺少对象: 'ConnectData' /Data_link.asp,行5
rs := CreateOleObject('ADODB.Recordset');
rs.Connection := Conn;//加这句
Conn.open(Link_String);
sql := 'Select * From hotelmain';
一定要用TypeLibrary Editor自动添加这个函数。