现在一Delphi写的动态库,功能不复杂,演示如下:-----------------
library ty01;uses
ComServ;exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;Type
TmyClass=class(TObject)
private
{ Private declarations }
UserID:String;
public
{ Public declarations }
Function GetWife(UserID:String):String; stdcall;
end;
{$R *.RES}Function GetName():WideString; stdcall ;
Begin
Result:='你是张三';
End;
Function TmyClass.GetWife(UserID:String):String; stdcall;
Begin
Result:=UserID + ':你的配偶是李四 ;
end;Exports
GetName;
//GetWife;
begin
end.
-----------------------------------------------
aspCall.asp 内容:<%@ TRANSACTION = Required LANGUAGE = "VBScript" %>
<% Option Explicit %><!--METADATA TYPE="typelib" FILE="ty01.dll" -->
'上面这句错误:提示: 无法加载 Metadata标记中指定的类型库。
'已保证dll文件是放在网页同一文件夹下,也试过绝对路径(只在我本机测试,故与文件路径应该无关)<%
dim myObj
Response.write "Asp开始进入!" Set myObj= CreateObject("ty01.GetName")
'这句也不成功,提示: ActiveX部件不能创建对象:'ty01.GetName'
'Set myObj=Server.CreateObject("ty01.TmyClass")
Response.write "从Dll中返回的数据为:" & myObj.GetName("123 ")
%>
说明:
1、我在网上查到的资料说要访问一个类,我对类不熟悉,就建立了一个TmyClass,但访问不成功。
2、以上Dll编译后,用Delphi程序调用是正确的;
3、我要求asp调用Dll,可不可以不用类?各位大虾就以 GetName 这个函数作个演示给我看,好吗?
4、 Dll我用命令成功注册。
请各位帮帮我.
library ty01;uses
ComServ;exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;Type
TmyClass=class(TObject)
private
{ Private declarations }
UserID:String;
public
{ Public declarations }
Function GetWife(UserID:String):String; stdcall;
end;
{$R *.RES}Function GetName():WideString; stdcall ;
Begin
Result:='你是张三';
End;
Function TmyClass.GetWife(UserID:String):String; stdcall;
Begin
Result:=UserID + ':你的配偶是李四 ;
end;Exports
GetName;
//GetWife;
begin
end.
-----------------------------------------------
aspCall.asp 内容:<%@ TRANSACTION = Required LANGUAGE = "VBScript" %>
<% Option Explicit %><!--METADATA TYPE="typelib" FILE="ty01.dll" -->
'上面这句错误:提示: 无法加载 Metadata标记中指定的类型库。
'已保证dll文件是放在网页同一文件夹下,也试过绝对路径(只在我本机测试,故与文件路径应该无关)<%
dim myObj
Response.write "Asp开始进入!" Set myObj= CreateObject("ty01.GetName")
'这句也不成功,提示: ActiveX部件不能创建对象:'ty01.GetName'
'Set myObj=Server.CreateObject("ty01.TmyClass")
Response.write "从Dll中返回的数据为:" & myObj.GetName("123 ")
%>
说明:
1、我在网上查到的资料说要访问一个类,我对类不熟悉,就建立了一个TmyClass,但访问不成功。
2、以上Dll编译后,用Delphi程序调用是正确的;
3、我要求asp调用Dll,可不可以不用类?各位大虾就以 GetName 这个函数作个演示给我看,好吗?
4、 Dll我用命令成功注册。
请各位帮帮我.
解决方案 »
- 请高手帮我看看,该怎么改
- delphi2007中如何使用ado.net呀?
- 求职(深圳)
- 这段时间DELPHI方面出了好几本书,诸如:Inside VCL(深入核心——VCL架构剖析),DELPHI源码分析等,有的人说是DELPHI回光返照,delphi似乎快
- 这段代码win2000server下正常,win98下出错,何解
- 打印问题————在线等待?!!!!
- VC中的LPVOID类型在Delphi中应该对应什么类型?
- 请高手帮我分析我的代码为什么老是出错????
- CSDN部分版块人气统计[2003-02-21]
- 谁用过Paradox表?
- cxGrid,dxDBGrid取得当前选中行对应数据问题
- 哪位高手有高版本的Fastreport,可否发到我的信箱里[email protected] 小弟谢过了~!80分都给了,在线等~~~~~~
ActiveX Library在File/New/Others/ActiveX页面