m.saviotti
July 7th, 2007, 01:54 AM
Hi, I'm trying to translate in Lua for Girder the following simple Vbs, used to control EIB/KNX field bus:
Dim GroupData,ConnectionObj,EdiMan
Dim EdiGuid,DeviceWriteError
Dim Data
Set EdiMan = CreateObject("FalconClientComponent.EdiManager")
Set GroupData = CreateObject("Falcon.GroupData")
Set ConnectionObj = CreateObject("Falcon.ConnectionObject")
EdiGuid = EdiMan.GetStandardEdiGuid (1,1)
ConnectionObj.Mode () = 5
DeviceOpenError = ConnectionObj.Open(EdiGuid)
Set GroupData.Connection = ConnectionObj
Data = GroupData.ReadSync ("0/1/1",3,7)
DeviceWriteError = GroupData.Write("0/1/1", 3, 7, True, "0")
Set EdiMan = Nothing
Set GroupData = Nothing
Set ConnectionObj = Nothing
Following Lua and Luacom manual I've create this Lua script:
EdiMan = luacom.CreateObject("FalconClientComponent.EdiManager")
GroupData = luacom.CreateObject("Falcon.GroupData")
ConnectionObj = luacom.CreateObject("Falcon.ConnectionObject")
EdiGuid = EdiMan:GetStandardEdiGuid (1,1)
ConnectionObj.Mode = 5
Doerror = ConnectionObj:Open(EdiGuid)
GroupData.Connection = ConnectionObj
Data = GroupData:ReadSync("0/1/1",3,7)
DeviceWriteError = GroupData:Write("0/1/1", 3, 7, True, "0")
EdiMan = nil
GroupData = nil
ConnectionObj = nil
collectgarbage()
The problem is the instruction (line 17) "GroupData.Connection = ConnectionObj" that generate the following error:
COM error:(.\src\library\tLuaCOM.cpp,403):Impossible to find member.
stack traceback:
[C]: ?
[string "Girder4-test.gml:\EIB\Scripting"]:17: in main chunk
I'm not able to find the error, can you please help me?
By
Dim GroupData,ConnectionObj,EdiMan
Dim EdiGuid,DeviceWriteError
Dim Data
Set EdiMan = CreateObject("FalconClientComponent.EdiManager")
Set GroupData = CreateObject("Falcon.GroupData")
Set ConnectionObj = CreateObject("Falcon.ConnectionObject")
EdiGuid = EdiMan.GetStandardEdiGuid (1,1)
ConnectionObj.Mode () = 5
DeviceOpenError = ConnectionObj.Open(EdiGuid)
Set GroupData.Connection = ConnectionObj
Data = GroupData.ReadSync ("0/1/1",3,7)
DeviceWriteError = GroupData.Write("0/1/1", 3, 7, True, "0")
Set EdiMan = Nothing
Set GroupData = Nothing
Set ConnectionObj = Nothing
Following Lua and Luacom manual I've create this Lua script:
EdiMan = luacom.CreateObject("FalconClientComponent.EdiManager")
GroupData = luacom.CreateObject("Falcon.GroupData")
ConnectionObj = luacom.CreateObject("Falcon.ConnectionObject")
EdiGuid = EdiMan:GetStandardEdiGuid (1,1)
ConnectionObj.Mode = 5
Doerror = ConnectionObj:Open(EdiGuid)
GroupData.Connection = ConnectionObj
Data = GroupData:ReadSync("0/1/1",3,7)
DeviceWriteError = GroupData:Write("0/1/1", 3, 7, True, "0")
EdiMan = nil
GroupData = nil
ConnectionObj = nil
collectgarbage()
The problem is the instruction (line 17) "GroupData.Connection = ConnectionObj" that generate the following error:
COM error:(.\src\library\tLuaCOM.cpp,403):Impossible to find member.
stack traceback:
[C]: ?
[string "Girder4-test.gml:\EIB\Scripting"]:17: in main chunk
I'm not able to find the error, can you please help me?
By