Dundersalt Skrevet 1. mai 2009 Skrevet 1. mai 2009 (endret) Hei, Nybegynner i C# så litt startproblemer.. public void start() { try { ipaddr.Text = ip; string[] MyInts = ip.Split('.'); ArrayList RealInts = new ArrayList(); for (int i = 0; i < MyInts.Length; i++) { RealInts.Add(Convert.ToInt32(((string)MyInts[i]).Trim())); } IPAddress address = new IPAddress(new byte[] { byte.Parse(MyInts[0]), byte.Parse(MyInts[1]), byte.Parse(MyInts[2]), byte.Parse(MyInts[3]) }); TcpListener slaveTcpListener = new TcpListener(address, port); ModbusSlave slave = ModbusTcpSlave.CreateTcp(slaveID, slaveTcpListener); slaveTcpListener.Start(); slave.DataStore = DataStoreFactory.CreateDefaultDataStore(); slave.DataStore.HoldingRegisters[5] = rpm; slave.DataStore.HoldingRegisters[6] = 2; slave.Listen(); } catch (Exception t) { richTextBox1.Text = "Error: " + t.Message; } button1.Text = "Simulating"; } Dette er et utdrag fra en modbus slave. Register verdiene skal være dynamiske (feks variablen rpm). Problemet er at jeg ikke kan skrive til slave.DataStore... andre steder enn nne i denne metoden. Ønsker noe som dette public void RPMinput_Scroll(object sender, EventArgs e) { slave.DataStore.HoldingRegisters[5] = rpm; } Dette gir feilen "the name "slave" does not excist in the current context. Noen som har noen tips til hvordan jeg kan få dette dynamisk? Endret 1. mai 2009 av Dundersalt
Dundersalt Skrevet 1. mai 2009 Forfatter Skrevet 1. mai 2009 Uff da på tide å legge seg.... Deklarere utenfor metoden er en fin ting.. Moderator kan slette denne..
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å