Hallo,
also ich habe im Grunde 2 bzw. 3 Klassen: 1. Server-Klasse, 2. Client-Klasse und 3. Verarbeitungsklasse
jetzt wird von Klasse 3 aus etwas eingegeben (via Console), dann soll der Client die Daten an den Server senden und dieser übergibt dann den Stream als einen string wieder an Klasse 3 weitergeben.
Da alle Klassen in einer Sollution sind, sollte das kein Problem sein, jedoch funktioniert die übergabe von Server zu Verarbeitungsklasse nicht.
Hier die wichtigen Codestellen:
C#-Quelltext
1: 2: 3: 4: 5:
| client.message = com.Remove(0, 8); while (cache.server == old_comCenter_answer) {} Console.WriteLine("Server >> " + cache.server); |
C#-Quelltext
1: 2: 3: 4: 5:
| public class Cache { public string client; public string server; } |
Nach 4 verschiedenen Methoden habe ich es jetzt mal mit einer neuen Klasse probiert, was aber auch nicht klappt...#
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| while (loop) { byte[] buffer = new byte[1024]; stream.Read(buffer, 0, buffer.Length); launcher.cache.client = encoder.GetString(buffer); } |
Aber wenn sich der Wert in meiner Verarbeitungsklasse ändern soll, bleibt er
null, obwohl er sich ändern müsste.
Meine Initialisierung der
public class cache habe ich im "Launcher" gemacht. In den Anderen greife über
C#-Quelltext
1: 2:
| Launcher launcher = new Launcher(); launcher.cache.client = *meine Variable* |
darauf zu. Was mache ich falsch bzw. wie kann ich das lösen?
WICHTIG!!!
Alle Klassen laufen in parallelen Threads und dürfen nicht abgebrochen werden.
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler