现在一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我用命令成功注册。
请各位帮帮我.
解决方案 »
- 簡單問題,大家幫忙
- 100分求一条SQL 语句,统计学生成绩的,在线等,搞定就给分了。22:00之前
- 高手请进,会造成内存泄漏么?不明白。
- 请进,关于循环的问题。在线等,ok就结贴。谢谢!
- delphi中连接sql2000数据库的方法,是否有专用接口,ado还是bde
- 我的exe等格式的文件都打不开了,怎么办呀?
- DBGRID数据保存到EXCEL文件中产生的问题
- 怎么为DBGrid的特定行设置不同的颜色
- 我写了一个免费发送短消息的程序,但只能用于联通,谁要来试试?
- 有挑战性的问题,请大家思考思考怎么样解决
- cxGrid,dxDBGrid取得当前选中行对应数据问题
- 哪位高手有高版本的Fastreport,可否发到我的信箱里[email protected] 小弟谢过了~!80分都给了,在线等~~~~~~
ActiveX Library在File/New/Others/ActiveX页面