C# VS 2013 Fehlermeldeung: serialPort1 Kontext.

Gast #4171998
Lesenswert?
• ▲
▼
Hallo,

ein Programm, das aus zwei Dateien besteht, macht mir etwas Kummer.

Datei 1 ist FORM1.cs mit einem Button, einer TextBox und serialPort1.

Datei 2 ist CodeFile1.cs mit einer Klasse. Diese Klasse wird in FORM1.cs 
instanziiert.

Soweit ich von Form1 mit den Methoden in CodeFile1 arbeite funktioniert 
alles einwandfrei. Verwende ich in Form1 serialPort1 funktioniert dieser 
ebenfalls.

Nur wenn ich serialPort1 von einer Methode in CodeFile1 aus aufrufe 
will, dann erhalte ich vom Compiler diese Fehlermeldung:

1
Der Name "serialPort1" ist im aktuellen Kontext nicht vorhanden.

Wie kann ich in CodeFile1 den Namen serialPort1 "bekanntmachen"?

Jochen
#4172030
Lesenswert?
• ▲
▼
Du könntest beim Aufruf von einer Funktion von CodeFile1 aus Form1 
serialPort1 über geben. Also so irgendwie
1
In CodeFile1.CS:
2
public void func(ref SerialPort SerialPort1)
3
{
4
//Nach irgendwas mit SerialPort1
5

6
}

Und in Form1.cs rufst du machst du dann func(serialPort1)
Gast #4172340
Lesenswert?
• ▲
▼
Jochen schrieb:

> Wie kann ich in CodeFile1 den Namen serialPort1 "bekanntmachen"?

Garnicht.

Die ganz_blöde Lösung wäre: serialPort1 in Form1 "public" oder 
"internal" zu machen. Dann könntest du das Teil immerhin als 
Form1.serialPort1 ansprechen.

Die etwas klügere (aber immer noch ziemlich_blöde) Lösung wurde 
bereits gepostet (Referenz-Übergabe mittels irgendeines 
Methoden-Aufrufs).

Die wirklich kluge Lösung ist: Wenn die Klasse mit dem Port hantieren 
muß, dann hat der Port auch der Klasse zu gehören und nicht irgendeiner 
verschissenen GUI-Form. Ja, man kann den Port dann nicht mittels 
Maus-Geschubse erzeugen. Drauf geschissen. Programmieren heißt: 
Quelltexte schreiben, nicht Maus-Schubsen.

Am besten, du lernst einfach mal die Sprache, die du da benutzt...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.