我正在使用旧的VB6应用程序,并且最近添加了西门子OPC组件。在VB6调试器中运行时,我没有问题。在VB6应用程序中导致“Method〜of object〜failed”的原因是什么?
然后我创建了一个部署软件包(包含在软件包中的Siemens OPC dll),并将该应用程序部署在同一台PC上。访问OPC对象当我再收到以下错误信息:
“Method对象的~~失败”
任何人都可以提出什么可能导致这或我能做些什么,以获得更多的信息?
UPDATE 我意识到有关此错误消息的其他问题。令我困惑的是,使用VB调试器时没有问题。部署后会发生问题 - 即使是在同一台机器上。我会认为所有组件都保持注册并可用。
CODE
Public Sub InitialiseOPC(ServerIP As String, OpcServerName As String, BaseAddress As String)
On Error GoTo ProcError
IsInitialised = False
Set MyOpcServer = New OPCServer
Dim LocalServers
LocalServers = MyOpcServer.GetOPCServers(ServerIP)
....
当GetOPCServers被调用时发生错误。这是第一次访问OPC组件。
有没有什么方法可以追踪VB在这个时候正在做什么(例如dll加载)?
UPDATE
我试图部署西门子的dll到应用程序文件夹,而不是默认位置,但此错误信息不再出现。
对象'〜'失败“的”方法'〜'是什么意思?]的可能重复(http://stackoverflow.com/questions/1302026/what-does-method-of-object-failed-mean ) – 2012-01-11 07:33:04
@Cody Grey - 请参阅我的更新,了解“dups”无法帮助我的解释 – paul 2012-01-11 07:45:37
如果您部署到没有dll的“新鲜”机器,您会得到相同的结果吗? – Jontatas 2012-01-11 07:53:07