Hallo,
ich habe eine Frage zum Projektübergreifenden Programmieren. Ich arbeite an einer Schrankensteuerungssoftware und in der Projektmappe befinden sich mehrere Projekte.
Nun möchte ich aus dem Projekt "Driver" die Namen der Treiber sowie die Anzahl der I/O Ports in das Projekt "ControlCenter" bekommen. Desweiteren soll bei einem Update, bei dem nur das Projekt "Driver" verändert/erweitert wird, das "ControlCenter" sich automatisch aktualisieren.
Die Frage die ich mir hierbei stelle ist wie?
Meine Überlegungen waren anfangs eine (Text)Datei, in die alle Treiber mit den I/O Ports gespeichert werden. Anschließend würde das im "ControlCenter" geladen und in eine Liste gespeichert. Kann man das Ganze auch ohne eine Datei ermöglichen?
Anbei ausschnitte vom Code um alles etwas verständlicher zu machen:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67:
| Die Datei adam6x.cs mit den dazugehörigen Treibernamen
namespace GateControl.Driver.adam { public class ADAM6050A2 : AdamBaseDrvA6x { public ADAM6050A2() { this.adamTypeName = "Adam6050"; } }
public class ADAM6050A3 : AdamBaseDrvA6x { public ADAM6050A3() { this.adamTypeName = "Adam6050"; } } ... }
Die Datei AdamModbus6x.cs mit den Ports
namespace GateControl.Driver { public class AdamModbus6x { ... private int port; private int outputChannels; private int inputChannels; private int totalChannels; ... } }
Und schließlich der Wizard. Hier sollen die Treibernamen und Ports in Dropdownmenüs sichtbar werden (siehe Bilder im Anhang)
namespace GateControl.ControlCenter {
public partial class Wizard : Form { string[] GeraeteAdam = { "Adam6050", "Adam6050W", "Adam6051", "Adam6051W", "Adam6052", "Adam6055", "Adam6060", "Adam6060W", "Adam6066" }; string[] GeraeteAxis = { "Axis247S", "Axis7001" }; int command = 0; Form AufrufendeForm; public Wizard(Form f, int c) { InitializeComponent(); AufrufendeForm = f; command = c;
} |
Moderiert von
Kha: Quote- durch C#-Tags ersetztModeriert von
Th69: Topic aus C# - Die Sprache verschoben am Do 12.01.2012 um 13:18