Hallo Herr Kosch,
eine Frage bezüglich dem Handling von globalen Variablen. Ich habe mir für einfache Datentypen zwei Klassen angelegt global.cs und classGlobal.cs um diese formularübergreifend zu nutzen. Das funktioniert auch. Kann ich Fremdkomponenten (eigene Klasse) ähnlich handeln? Hier mal Codeausschnitte:
public class Global
{
public Global()
{
}
public Global(short Zonen, int Baudrate, short Port, short Streuer, double ZoomFaktor)
{
_Zonen = Zonen;
_Baudrate = Baudrate;
_Port = Port;
_Streuer = Streuer;
_ZoomFaktor = ZoomFaktor;
}
private short _Zonen;
private int _Baudrate;
private short _Port;
private short _Streuer;
private short _Zone1;
private short _Zone2;
private short _Zone3;
private short _Zone4;
private short _Zone5;
private double _ZoomFaktor;
// Fremdkomponente
private GpsToolsNET.NmeaParser _objParserGlobal;
public GpsToolsNET.NmeaParser objParserGlobal
{
get {return(_objParserGlobal);}
set {_objParserGlobal = value;}
}
public short Zonen
{
get {return(_Zonen);}
set {_Zonen = value;}
}
....
Dann die classGlobal.cs
public class ClassGlobal
{
public ClassGlobal()
{
}
public static AgroSenseSmartApplikation.Global clsGlobal = null;
public static void InitMain()
{
if (clsGlobal == null)
clsGlobal = new AgroSenseSmartApplikation.Global();
}
public static GpsToolsNET.NmeaParser ReadParser()
{
return clsGlobal.objParserGlobal;
}
public static short ReadZonen()
{
return clsGlobal.Zonen;
}
....
Und nun der Aufruf in einer Form...
//Setzten von Eigenschaften
AgroSenseSmartApplikation.ClassGlobal.clsGlobal.Zo nen = 3;
//Lesen von Werten
AgroSenseSmartApplikation.FormSetup aGlobal = new AgroSenseSmartApplikation.FormSetup();
int i = AgroSenseSmartApplikation.ClassGlobal.ReadZonen();
*Das funktioniert so weit
Bei den Fremdkomponentenklassen bin ich mir nicht so sicher
AgroSenseSmartApplikation.ClassGlobal.clsGlobal.ob jParserGlobal = new GpsToolsNET.NmeaParser();
AgroSenseSmartApplikation.ClassGlobal.clsGlobal.ob jParserGlobal.PortEnabled = true;
.....
Könnten Sie mit mal die Klassen ansehen ob man so damit verfahren kann...
Wagner
eine Frage bezüglich dem Handling von globalen Variablen. Ich habe mir für einfache Datentypen zwei Klassen angelegt global.cs und classGlobal.cs um diese formularübergreifend zu nutzen. Das funktioniert auch. Kann ich Fremdkomponenten (eigene Klasse) ähnlich handeln? Hier mal Codeausschnitte:
public class Global
{
public Global()
{
}
public Global(short Zonen, int Baudrate, short Port, short Streuer, double ZoomFaktor)
{
_Zonen = Zonen;
_Baudrate = Baudrate;
_Port = Port;
_Streuer = Streuer;
_ZoomFaktor = ZoomFaktor;
}
private short _Zonen;
private int _Baudrate;
private short _Port;
private short _Streuer;
private short _Zone1;
private short _Zone2;
private short _Zone3;
private short _Zone4;
private short _Zone5;
private double _ZoomFaktor;
// Fremdkomponente
private GpsToolsNET.NmeaParser _objParserGlobal;
public GpsToolsNET.NmeaParser objParserGlobal
{
get {return(_objParserGlobal);}
set {_objParserGlobal = value;}
}
public short Zonen
{
get {return(_Zonen);}
set {_Zonen = value;}
}
....
Dann die classGlobal.cs
public class ClassGlobal
{
public ClassGlobal()
{
}
public static AgroSenseSmartApplikation.Global clsGlobal = null;
public static void InitMain()
{
if (clsGlobal == null)
clsGlobal = new AgroSenseSmartApplikation.Global();
}
public static GpsToolsNET.NmeaParser ReadParser()
{
return clsGlobal.objParserGlobal;
}
public static short ReadZonen()
{
return clsGlobal.Zonen;
}
....
Und nun der Aufruf in einer Form...
//Setzten von Eigenschaften
AgroSenseSmartApplikation.ClassGlobal.clsGlobal.Zo nen = 3;
//Lesen von Werten
AgroSenseSmartApplikation.FormSetup aGlobal = new AgroSenseSmartApplikation.FormSetup();
int i = AgroSenseSmartApplikation.ClassGlobal.ReadZonen();
*Das funktioniert so weit
Bei den Fremdkomponentenklassen bin ich mir nicht so sicher
AgroSenseSmartApplikation.ClassGlobal.clsGlobal.ob jParserGlobal = new GpsToolsNET.NmeaParser();
AgroSenseSmartApplikation.ClassGlobal.clsGlobal.ob jParserGlobal.PortEnabled = true;
.....
Könnten Sie mit mal die Klassen ansehen ob man so damit verfahren kann...
Wagner
Comment