Kargan Skrevet 15. september 2013 Del Skrevet 15. september 2013 (endret) Jeg fatter ikke hvorfor jeg får "Using of unassinged local variable", variablen blir jo deklarert. Det er denne linjen som ikke funker: rd.Value = rapidBool; Noen tips ? using System; using ABB.Robotics.Controllers; using ABB.Robotics.Controllers.Discovery; using ABB.Robotics; class Program{ static void Main(string[] args){ NetworkScanner scanner = new NetworkScanner(); //Controller _controller; //Controller controller = null; scanner.Scan(); ControllerInfoCollection controllers = scanner.Controllers; foreach (ControllerInfo controllerInfo in controllers){ Console.WriteLine("IPAddress: " + controllerInfo.IPAddress.ToString()+"\n"); Console.WriteLine("System Name : " + controllerInfo.SystemName + "\n"); Console.WriteLine("Controller Name: " + controllerInfo.ControllerName + "\n"); } Console.WriteLine("SystemID : " + scanner.Controllers[0].SystemId); Controller _controller = new Controller(scanner.Controllers[0].SystemId); _controller.Logon(UserInfo.DefaultUser); Mastership m = Mastership.Request(_controller.Rapid); ABB.Robotics.Controllers.RapidDomain.RapidData rd = _controller.Rapid.GetRapidData("T_ROB1", "MainModule", "flag"); ABB.Robotics.Controllers.RapidDomain.Bool rapidBool; //test that data type is correct before cast if (rd.Value is ABB.Robotics.Controllers.RapidDomain.Bool) { rapidBool = (ABB.Robotics.Controllers.RapidDomain.Bool)rd.Value; //assign the value of the RAPID data to a local variable bool boolValue = rapidBool.Value; } Console.WriteLine("RAPID \"running bool\" : "+ rd.Value.ToString()); //Assign new value to .Net variable rapidBool.Value = false; //Request mastership of Rapid before writing to the controller //Change: controller is repaced by aController rd.Value = rapidBool; //Denne lager problemer for meg //Release mastership as soon as possible Console.WriteLine("Is Master : " + m.IsMaster); m.Dispose(); //Kobler fra kontroller Console.WriteLine("Is master : " + m.IsMaster); Console.ReadLine(); } } Endret 15. september 2013 av Kargan Lenke til kommentar
Hårek Skrevet 15. september 2013 Del Skrevet 15. september 2013 Du tildeler rapidBool.Value uten å lage objektet rapidBool. ABB.Robotics.Controllers.RapidDomain.Bool rapidBool; - dette forteller hva slags objekt rapidBool er, men det er ikke laget noe objekt. rapidBool = new ABB.Robotics.Controllers.RapidDomain.Bool - dette ville lage objektet. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå