1. 我试过可以用creatobject("system.collection.arraylist")创建一个arraylist对象,但是我有一个应用程序名为a,里面有一个类b
dim ss
set ss= createobject("a.b") '执行脚本时,弹出错误,无法创建“a.b”
??????
2. 关于对象之间的赋值。经过我的测试是不行的,真的如此么?
3.关于数组
例如:
程序中:
public class Data
public function ra() as array ‘返回数组
dim a(20) as integer
return a
end function
end class
dim data as new Data 'data对象
脚本中已添加data
脚本文件:
dim i
i=data.ra(10)
执行时弹出错误,无法创建AUTOMATION类 !!
我的问题是如何在脚本中用对象中的数组???
上面提出的问题,有一定相关性吧:)
6 个解决方案
#1
1.创建并返回对 COM 对象的引用。CreateObject 不能用于在 Visual Basic 中创建类的实例,除非这些类已显式公开为 COM 对象。
2.不太明白你的意思,.net是可以对象赋值的。
3.没有问题,但楼主的代码i=data.ra(10) 好像不对,应该是i=data.ra()
2.不太明白你的意思,.net是可以对象赋值的。
3.没有问题,但楼主的代码i=data.ra(10) 好像不对,应该是i=data.ra()
#2
to hero0045(hero) :
第3个问题,我试过了,i=data.ra()是正确的
那么,i就是大小为20的数组了么?如何实用i中的数据了?
dim bb
bb=i(1) '执行错误,类型不匹配
第3个问题,我试过了,i=data.ra()是正确的
那么,i就是大小为20的数组了么?如何实用i中的数据了?
dim bb
bb=i(1) '执行错误,类型不匹配
#3
dim bb
bb=0
bb=i(1)
相同类型的对象之间可以赋
bb=0
bb=i(1)
相同类型的对象之间可以赋
#4
To bluecole (bluecole)
使用變量時,如果可以確定要使用的類型,你最好顯式定義一下,要不可能會出現非法的隱式轉換,造成程序出現異常.
使用變量時,如果可以確定要使用的類型,你最好顯式定義一下,要不可能會出現非法的隱式轉換,造成程序出現異常.
#5
To bluecole (bluecole)
回答你第一个问题
dim ss
set ss= createobject("a.b")
在.net中,
Imports System.Runtime.Remoting
dim ss as a.b
dim objHandle as objecthandle
objHandle=Activator.CreateInstance("a","a.b")
ss=objHandle.Unwrap
这样就得到了a.b类型的变量ss
第二个问题
对象之间赋值是可以的,即把一个对象赋值给另一个对象。
回答你第一个问题
dim ss
set ss= createobject("a.b")
在.net中,
Imports System.Runtime.Remoting
dim ss as a.b
dim objHandle as objecthandle
objHandle=Activator.CreateInstance("a","a.b")
ss=objHandle.Unwrap
这样就得到了a.b类型的变量ss
第二个问题
对象之间赋值是可以的,即把一个对象赋值给另一个对象。
#6
能在脚本语言中使用的对象必须实现IDispatch接口,这是一个com接口,支持延迟绑定
普通的.net类是不行的,必须对COM公开
实现方法见:http://www.microsoft.com/china/msdn/archives/library/dndotnet/html/callnetfrcom.asp
普通的.net类是不行的,必须对COM公开
实现方法见:http://www.microsoft.com/china/msdn/archives/library/dndotnet/html/callnetfrcom.asp
#1
1.创建并返回对 COM 对象的引用。CreateObject 不能用于在 Visual Basic 中创建类的实例,除非这些类已显式公开为 COM 对象。
2.不太明白你的意思,.net是可以对象赋值的。
3.没有问题,但楼主的代码i=data.ra(10) 好像不对,应该是i=data.ra()
2.不太明白你的意思,.net是可以对象赋值的。
3.没有问题,但楼主的代码i=data.ra(10) 好像不对,应该是i=data.ra()
#2
to hero0045(hero) :
第3个问题,我试过了,i=data.ra()是正确的
那么,i就是大小为20的数组了么?如何实用i中的数据了?
dim bb
bb=i(1) '执行错误,类型不匹配
第3个问题,我试过了,i=data.ra()是正确的
那么,i就是大小为20的数组了么?如何实用i中的数据了?
dim bb
bb=i(1) '执行错误,类型不匹配
#3
dim bb
bb=0
bb=i(1)
相同类型的对象之间可以赋
bb=0
bb=i(1)
相同类型的对象之间可以赋
#4
To bluecole (bluecole)
使用變量時,如果可以確定要使用的類型,你最好顯式定義一下,要不可能會出現非法的隱式轉換,造成程序出現異常.
使用變量時,如果可以確定要使用的類型,你最好顯式定義一下,要不可能會出現非法的隱式轉換,造成程序出現異常.
#5
To bluecole (bluecole)
回答你第一个问题
dim ss
set ss= createobject("a.b")
在.net中,
Imports System.Runtime.Remoting
dim ss as a.b
dim objHandle as objecthandle
objHandle=Activator.CreateInstance("a","a.b")
ss=objHandle.Unwrap
这样就得到了a.b类型的变量ss
第二个问题
对象之间赋值是可以的,即把一个对象赋值给另一个对象。
回答你第一个问题
dim ss
set ss= createobject("a.b")
在.net中,
Imports System.Runtime.Remoting
dim ss as a.b
dim objHandle as objecthandle
objHandle=Activator.CreateInstance("a","a.b")
ss=objHandle.Unwrap
这样就得到了a.b类型的变量ss
第二个问题
对象之间赋值是可以的,即把一个对象赋值给另一个对象。
#6
能在脚本语言中使用的对象必须实现IDispatch接口,这是一个com接口,支持延迟绑定
普通的.net类是不行的,必须对COM公开
实现方法见:http://www.microsoft.com/china/msdn/archives/library/dndotnet/html/callnetfrcom.asp
普通的.net类是不行的,必须对COM公开
实现方法见:http://www.microsoft.com/china/msdn/archives/library/dndotnet/html/callnetfrcom.asp