A
atrust
Unregistered / Unconfirmed
GUEST, unregistred user!
我依这篇文章编写了一个 COM DLL:
http://delphi.about.com/library/weekly/aa121404b.htm
然后在 delphi 程序中如它所写使用
var
FMyComObject : IDisplaySomething;
begin
OleCheck(CoCreateInstance(
Class_DisplaySomething,
nil,
CLSCTX_ALL,
IDisplaySomething,
FMyComObject));
FMyComObject.DisplayMessage
('I have succeeded!');
end;
调用成功
可是使用 vbscript 如下
<script language="VBScript">
On Error Resume Next
Set MyObj = CreateObject("MyDLL.DisplaySomething"
if Err <> 0 then
'这里没有显示错误, 所以 DLL 应该有正常载入
MsgBox("Error!"
else
'DisplayMessage 的参数已改为 WideString
'但无反应
Call MyObj.DisplayMessage("abc"
end if
</script>
请问为何会如此呢, 是否 DisplayMessage 有什么属性要更改,
才能被 VBScript 调用呢?
补充一下 无反应后面 Err 是 424,
查了一下好像是需要物件,可是CreateObject时并无错误,
不知为何如此呢
http://delphi.about.com/library/weekly/aa121404b.htm
然后在 delphi 程序中如它所写使用
var
FMyComObject : IDisplaySomething;
begin
OleCheck(CoCreateInstance(
Class_DisplaySomething,
nil,
CLSCTX_ALL,
IDisplaySomething,
FMyComObject));
FMyComObject.DisplayMessage
('I have succeeded!');
end;
调用成功
可是使用 vbscript 如下
<script language="VBScript">
On Error Resume Next
Set MyObj = CreateObject("MyDLL.DisplaySomething"
if Err <> 0 then
'这里没有显示错误, 所以 DLL 应该有正常载入
MsgBox("Error!"
else
'DisplayMessage 的参数已改为 WideString
'但无反应
Call MyObj.DisplayMessage("abc"
end if
</script>
请问为何会如此呢, 是否 DisplayMessage 有什么属性要更改,
才能被 VBScript 调用呢?
补充一下 无反应后面 Err 是 424,
查了一下好像是需要物件,可是CreateObject时并无错误,
不知为何如此呢