PDA

View Full Version : Unable to open .gml files



Manser
October 7th, 2008, 11:02 PM
Problem:
Can not open .gml file I created yesterday on build 540.
This happens once before, I created then a new one.
Today the same problem, girder can't open this gml file.
Tried it to open on an other PC running girder, not possible!

What could that be??? It's really annoying.

You can find the file in the Attachment...

I Uninstall Girder / Installed 540 again, create a new gml file and saved it, I restarted girder, gives me the same result.
Not possible to open this gml file.
Did the same with build 539.. same result

I use the new transport class in this gml, could there be a problem?
All older gml, all examples are no problem!

Rob H
October 8th, 2008, 03:02 AM
There are some illegal characters in some of the Lua code (showing in SciTE as SUB. Looks like Girder isn't correctly enforcing the encoding when writing out the file.

I've corrected this but you may want to ensure that the Lua is correct.

Manser
October 8th, 2008, 03:17 AM
Yes, that bloody "SUB", I corrected this in the finished file as well, and it works!

Thanks for that.

Rob, can you tell me how I can send data from lua to the new transport-devices?
In the old serial class, it was globalname:SendCommand(data)

Rob H
October 8th, 2008, 03:31 AM
For the new transport you'd use the Send method.

Manser
October 8th, 2008, 07:03 AM
Perhaps I'm a little retarded ;-)

If I have this settings for the transport device:

local Object = Super:Subclass ( {

Name = 'Mipro_Act72P',
Description = "Mipro UHF Receiver",
GUIDefaults = {
allowedtransports = {
[constants.transport.GIP] = true,
[constants.transport.SERIAL] = true,
},
defaulttransport = constants.transport.GIP,
hostname = "192.168.1.70",
port = 4998,
},

I send a command from a scripting window like:


transport.devices.Mipro_Act72P:Send("data") or
Mipro_Act72P:Send("data")

Couldn't figure it out until now!! :-(

Ron
October 8th, 2008, 09:00 AM
There are no global names defined for transports anymore. This would not make much sense as you can create a transport class many times over. To get to a transport use this code:



local c = ComponentManager:GetComponentUsingName("Transport Manager")
local tx = c:GetTransportUsingName("My GC Tutorial 2")
tx:Send("hello")
The part that you would need to modify is the "My GC Tutorial 2". This will need to be the name of the INSTANCE you are trying to use, not the name of the class. You can find the name on the Transport Manager dialog in the Component Manager.

Manser
October 9th, 2008, 01:01 AM
Ahh, Thank you.....




I do not want to annoy you, but I have an other one:

In the parser.TERMINATED callback, if the Queue is full, what would you do
then, An easy method would be to clear the queue! If I now that there will be
no incomming data for this queued send!


OnQueueFull = function(self)
--gir.Reset()
HOW CAN I CLEAR THE QUEUE?
end,