程序写好后,在我的电脑上面没有出现任何问题,在同事电脑上面也没任何问题。当用户使用的时候,就有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接口定义如下:
interfaceuses 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;implementationuses ComObj;end.
unit UMyExternal;interfaceuses
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;implementationuses
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.
=========================================
行:110
字符:2
错误:意外的调用了方法或属性访问
代码:0
URL :res://Prores.dll/INDEX
=========================================找到JS中第110行代码如下:
function getpack() {
var packs ="";
packs = external.gockpack().toString(); <==========这是110行.
return packs;
}这行正是调用我DELPHI中的函数gockpack这个。可是在我的电脑上面并不会出现这类情况。请问出现这类情况会是什么原因造成的。DELPHI接口定义如下:
interfaceuses 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;implementationuses ComObj;end.
unit UMyExternal;interfaceuses
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;implementationuses
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.
var obj=new ActoveXObject("com名称");
alter(obj.gockpack());后面toString()不须要