Laden...

Zwei Projekte zu einem zusammenfügen

Erstellt von Lukas B. vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.192 Views
L
Lukas B. Themenstarter:in
4 Beiträge seit 2010
vor 13 Jahren
Zwei Projekte zu einem zusammenfügen

Hallo,
ich bin neu hier und habe eine Frage zu Forms und Events:

Ich habe 2 C# Programme geschierben:
Das erste greift auf eine MySql Datenbank zu und holt sich Werte aus der Datenbank, das zweite Programm frägt die Serielle Schnittstelle ab und liest die Daten ein, die die Serielle Schnittstelle bekommt.

Bei der Abfrage der seriellen Schnittstelle habe ich das Event verwendet welches aufgerufen wird, wenn Daten empfangen werden.
beide Programme funktionieren einwandfrei.

Nun möchte / muss ich beide Programme zusammenführen, d.h. ich möchte das programm, welches die Serielle Schnittstelle ausliest zu dem Großen "Datenbankprogramm" hinzufügen.

Hintergrund ist folgender: Sobald ich Daten von der Seriellen Schnittstelle bekomme (die Daten sind ID's, welche in der Datenbank abgefragt werden und andere Werte ausglesen werden) soll sofort mit den erhaltenen ID's eine Datenbankabfrage gemacht werden.

Genauer Gesagt, für die Datenbankabfrage habe ich ein Unterprogramm, welches die komplette abfrage übernimmt, allerdings ist dies logischerweise in dem "großen Datenbankprogramm" und ich hätte gerne diesen auftruf zum Unterprogramm im Event der Seriellen Schnittstelle.

Kann mir bitte jemand weiterhelfen?

Grüße
Lukas

A
69 Beiträge seit 2010
vor 13 Jahren

wenn du von Programm und Unterprogramm sprichst. Meinst du da eigenständige Prozesse?

Und generell gilt hier: versuche es zu lösen und bei problemen stell konkrete fragen. "kan mir mal jemand helfen" ist keine konkrete frage zu einem konkreten problem.

L
Lukas B. Themenstarter:in
4 Beiträge seit 2010
vor 13 Jahren

Oke 😃

Also 1ste Konkrete Frage:
Wie kann ich ein Programm, Form ( koplettes C# Projekt ) in ein anderes C# Projekt übernehmen, gibts sozusagen eine funktion mit derer Hilfe man ein vorhandenes C# Projekt in ein bestehendes Projekt hinzufügen kann?

Grüße Lukas

5.742 Beiträge seit 2007
vor 13 Jahren

Hallo Lukas B.,

Wie kann ich ein Programm, Form ( koplettes C# Projekt ) in ein anderes C# Projekt übernehmen,

Da gibte es viele Möglichkeiten:*Kopieren: Nur empfehlenswert, wenn das neue Projekt das alte ersetzen soll, sonst hat man doppelten Aufwand bei der Wartung *Aufrufen per Process.Start: Man behält weiterhin zwei eigenständige Programme, der Benutzer startet jedoch nur ein Programm *Aufrufen per Process.Start + Kommunikation über Remoting: Ermöglicht getrennte Ausführung der beiden Programme auf verschiedenen Rechnern im netzwerk *Hinzufügen des einen Projektes als Referenz: Das "alte" Programm ist nur noch mithilfe des neuen Programmes lauffähig, kann aber auch von anderen Programmen verwendet werden

Alle Punkte gehen natürlich mit mehr oder weniger tiefgreifenden Änderungen am Code beider Programme einher.

Aber deine Frage ist immer noch sehr allgemein formuliert 😉

L
Lukas B. Themenstarter:in
4 Beiträge seit 2010
vor 13 Jahren

Oke jetzt ganz konkrete Frage 😉

Was / Wie würdet ihr das Problem mit der Anbindung des Programmes welches die Serielle Schnittstelle Liest mit dem Programm für den Datenbankzugriff lösen?

Wenn ich eine Lösung wüsste würde ich am liebsten mit der Datenbankanwendung auf das DataReceived Event des Seriellen Port Reader zugreifen, leider weiß ich nicht wie.
Die Möglichkeit die mir noch eingefallen wäre ist:

Der SerialReader schreibt sobald er neu Daten empfangen hat die Daten in ein Text File und das Datenbankanbindungsprogramm "scannt" die ganze zeit mit Hilfe eines Backgroundworkers die Datei ob ein neuer Eintrag vorhanden ist -- schön Programmiert ist das sicher nicht... 🤔

Was meint ihr dazu?

Grüße Lukas

A
69 Beiträge seit 2010
vor 13 Jahren

•Hinzufügen des einen Projektes als Referenz: Das "alte" Programm ist nur noch mithilfe des neuen Programmes lauffähig, kann aber auch von anderen Programmen verwendet werden

jain. man kann auch eine exe hinzufügen und als dll verwenden.

@Lukas B.:
mir scheint, das nicht du das programmiert hast. Hört sich eher nach Copy&Paste oder Beispielprojekte aus dem netz ziehen an.... denn wenn du das selber gemacht hättest, dann wüsstest du, wie du beides einfach vereinen kannst....

Generell würde ich den weg des hinzufügens als DLL realisieren und dann die DLL so modifizieren, das diese ein Event anbietet, welches die benötigten daten nach außen liefert.

L
Lukas B. Themenstarter:in
4 Beiträge seit 2010
vor 13 Jahren

Hallo,
Danke für die Hilfe, ich habe das gasnze jetzt anders umgesetzt, ich verwende sockets, dadurch hab ich jedes der Programme als eigener Prozess und alles funktioniert so wies soll.

Grüße
Lukas

A
69 Beiträge seit 2010
vor 13 Jahren

Das Verwenden von Sockets hat garnichts mit Programminstanzen zu tun. Du kannst in einer Programminstanz n Sockets aufmachen. Irgendwie ist dein Statement äußerst verwirrend.