Autor Beitrag
b.marco
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 10.09.09 18:10 
Hi,
ich habe ein Problem an dem ich mir seit Tagen die Zähne ausbeiße....

Ich habe eine Windows Forms anwendung X und eine Class library dll.

Zuerst wird die Forms anwendung X gestartet und dann wird von einem anderen Programm Y die dll instanziiert.

Funktion:
- Forms anwendung hat einen WCF-Server (named pipes)
- dll hat einen WCF-Client und fragt, wenn sie instanziiert wird, per wcf einen wert aus der Forms anwendung ab


Was nicht klappt:

Wenn dieser Wert von dem Programm Y geprüft wurde, soll der Wert eines Lables in der Forms anwendung X mit einem statischen
string beschrieben werden.
Wie kann ich also in der Forms anwendung X eine Methode ausführen welche mir dann das Lable beschreibt?
Ich habe es auch schon über WCF-Versucht, aber da kommt dann immer der fehler,"Object reference not set to an instance of an object."
Ich weis nicht weiter.... hoffe jemand kann mir da weiterhelfen

Viele Grüße,

Marco
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 10.09.09 18:58 
:welcome:

Da X und Y verschiedene Prozesse besitzen, wirst du dafür auf jeden Fall wieder eine Schnittstelle wie WCF einsetzen müssen. Zu der Fehlermeldung fällt mir leider nicht Gescheiteres als "da ist wohl ein Objekt null" ein ;) .

_________________
>λ=
b.marco Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 10.09.09 20:33 
Nochmal hier gepostet:

Hi,
ich habe hier ein kleines Verständniss Problem was Instanzen angeht.

Ich habe 2 Windows Forms Anwendungen. Die eine X fungiert als WCF-Server, die andere Y als Client.

In der Anwendung X (Server) gibt es eine Methode double Multiply(A,B) welche mir 2 Zahlen Multipliziert.
Die Anwendung Y versendet per WCF an X 2 Zahlen A und B und bekommt das Ergebnis zurück und Zegt das Ergebnis
in einem Lable an.

Jetzt möchte ich aber genau so in der Anwendung X, also der Server anwendung, das die von Y empfangenen beiden Zahlen
in 2 Lables angezeigt werden. Wenn ich allerdings die Kommunikation ausführe, wird alles richtig multipliziert, und das Ergebnis in
Y angezeigt, jedoch in X steht nichts in den Labeln, obwohl ja die Methode richtig durchgelaufen ist, sonst wäre das ergebnis ja nicht zurück
gekommen.

Die Methode in X sieht wie folgt aus:


ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
        public double Multiply(double A, double B)
        {
            this.label1.Text = A.ToString();
            this.label2.Text = B.ToString();
            return A * B;
        }




Kann es sein das beim ausführen der Funktion das in einer anderen Instanz gemacht wird?
Wie kann ich es bewerkstelligen das in den lablen auch die werte stehen?

Hoffe die Problemstellung war besser beschrieben als die in folgendem Post.
www.c-sharp-forum.de/viewtopic.php?t=94708

Das Problem ist das Selbe.

Viele Grüße,

Marco

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt