JS调用DELPHI函数问题。蛋疼了两周!!!
时间:2011-10-29
来源:互联网
程序写好后,在我的电脑上面没有出现任何问题,在同事电脑上面也没任何问题。
当用户使用的时候,就有N个用户出现相同的问题了。
错误如下:
=========================================
行:110
字符:2
错误:意外的调用了方法或属性访问
代码:0
URL :res://Prores.dll/INDEX
=========================================
找到JS中第110行代码如下:
function getpack() {
var packs ="";
packs = external.gockpack().toString(); <==========这是110行.
return packs;
}
这行正是调用我DELPHI中的函数gockpack这个。
可是在我的电脑上面并不会出现这类情况。请问出现这类情况会是什么原因造成的。
DELPHI接口定义如下:
Delphi(Pascal) code
Delphi(Pascal) code
当用户使用的时候,就有N个用户出现相同的问题了。
错误如下:
=========================================
行:110
字符:2
错误:意外的调用了方法或属性访问
代码:0
URL :res://Prores.dll/INDEX
=========================================
找到JS中第110行代码如下:
function getpack() {
var packs ="";
packs = external.gockpack().toString(); <==========这是110行.
return packs;
}
这行正是调用我DELPHI中的函数gockpack这个。
可是在我的电脑上面并不会出现这类情况。请问出现这类情况会是什么原因造成的。
DELPHI接口定义如下:
Delphi(Pascal) code
interface uses Windows, ActiveX, Classes, Graphics, StdVCL, Variants; // *********************************************************************// // GUIDS declared in the TypeLibrary. Following prefixes are used: // Type Libraries : LIBID_xxxx // CoClasses : CLASS_xxxx // DISPInterfaces : DIID_xxxx // Non-DISP interfaces: IID_xxxx // *********************************************************************// const // TypeLibrary Major and minor versions MaxPackMajorVersion = 1; MaxPackMinorVersion = 0; LIBID_MaxPack: TGUID = '{517F7078-5E73-4E5A-B8A2-8F0FF14EF21B}'; IID_IMyExternal: TGUID = '{4F995D09-CF9E-4042-993E-C71A8AED661E}'; type // *********************************************************************// // Forward declaration of types defined in TypeLibrary // *********************************************************************// IMyExternal = interface; IMyExternalDisp = dispinterface; // *********************************************************************// // Interface: IMyExternal // Flags: (4416) Dual OleAutomation Dispatchable // GUID: {4F995D09-CF9E-4042-993E-C71A8AED661E} // *********************************************************************// IMyExternal = interface(IDispatch) ['{4F995D09-CF9E-4042-993E-C71A8AED661E}'] function gockpack: WideString; safecall; function vcldestr(const pbstr: WideString; const tpstr: WideString): WideString; safecall; end; // *********************************************************************// // DispIntf: IMyExternalDisp // Flags: (4416) Dual OleAutomation Dispatchable // GUID: {4F995D09-CF9E-4042-993E-C71A8AED661E} // *********************************************************************// IMyExternalDisp = dispinterface ['{4F995D09-CF9E-4042-993E-C71A8AED661E}'] function gockpack: WideString; dispid 201; function vcldestr(const pbstr: WideString; const tpstr: WideString): WideString; dispid 202; end; implementation uses ComObj; end.
Delphi(Pascal) code
unit UMyExternal; interface uses windows,Classes, ComObj, MaxPack_TLB,funs,EncdDecd; type TMyExternal = class(TAutoIntfObject, IMyExternal, IDispatch) private // fData: TStringList; // info from data file protected { IMyExternal methods } public function gockpack: WideString; safecall; constructor Create; destructor Destroy; override; end; implementation uses SysUtils, ActiveX, StdActns; { TMyExternal } constructor TMyExternal.Create; var TypeLib: ITypeLib; // type library information begin inherited Create(TypeLib, IMyExternal); end; destructor TMyExternal.Destroy; begin //fData.Free; inherited; end; function TMyExternal.gockpack: WideString; begin result :='test'; end; end.
作者: ltysunde 发布时间: 2011-10-29
有知道的朋友,帮提供下思路。小弟不知从何下手。是什么可能引发的血案?
作者: ltysunde 发布时间: 2011-10-29
顶下。。
作者: ltysunde 发布时间: 2011-10-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28