Zugriffsproblem mit KLassen...

10/01/2009 - 14:30 von Nicolas Nickisch | Report spam
Hi NG,
ich habe gerade ein Problem mit einer selbstgeschriebenen KLasse.
Wahrscheonlich ist es ein Verstàndnisproblem, ich komme aber nicht weiter.


Da hàtten wir zunàchst folgende Konstruktoin

Public Class Protokoll_Lib
Dim WithEventes Serial as System.IO.Ports.SerialPort

Private Sub SendMsg
Serial.Write(msg)
End sub

Public SUb Open()
Serial1.Open

Public Class SubClassA
Public Sub TestSub
dim RawComm as Protokoll_lib

RawComm.SendMsg(msg)
End class
End Class

Hier ist nur eine grobe Wiedergabe der Konstruktion dargestellt.

In der Klasse Protokoll_Lib wird vor allem ein serieller Port verwendet über
den die Kommunikation stattfindet.
Im übergeordeneten Programm wird nun folgendes gemacht:

dim Comm as new Protokoll_Lib
dim xxx as new Protokoll_Lib.SubClassA

Comm.Open

Das gelingt auch, nach dieser Anweisung ist der serielle Port geöfnet.

Spàter wird xxx.TestSub aufgerufen.

Wie man oben sehen kann versucht diese TestSub nun Daten über den bereits
geöffneten COMPort zu verschicken.

Jetzt ist allerdings die serielle Schnittstelle aus igrendeinem Grunde
geshclossen, obwohl ich nichts dergleichen unternommen habe.

Woran mag das wohl liegen und wie umgehe ich das ?

Kern des Problem ist , dass ich von der SUbclassA as auf eine Prozedur in
der übergeordneten Klasse zu greifen will.

Wie macht man das ?

Gruss Nico
 

Lesen sie die antworten

#1 Nicolas Nickisch
10/01/2009 - 14:49 | Warnen spam
Noch ein Hinweis:
Die Prozedur SendMsg soll von mehreren SUbclasses aus (SubClassA, SubClassB
etc. genutzt werden, soll aber von aussen nicht ansprechbar sein.

Nico

"Nicolas Nickisch" schrieb im Newsbeitrag
news:4968a1c3$0$31341$
Hi NG,
ich habe gerade ein Problem mit einer selbstgeschriebenen KLasse.
Wahrscheonlich ist es ein Verstàndnisproblem, ich komme aber nicht weiter.


Da hàtten wir zunàchst folgende Konstruktoin

Public Class Protokoll_Lib
Dim WithEventes Serial as System.IO.Ports.SerialPort

Private Sub SendMsg
Serial.Write(msg)
End sub

Public SUb Open()
Serial1.Open

Public Class SubClassA
Public Sub TestSub
dim RawComm as Protokoll_lib

RawComm.SendMsg(msg)
End class
End Class

Hier ist nur eine grobe Wiedergabe der Konstruktion dargestellt.

In der Klasse Protokoll_Lib wird vor allem ein serieller Port verwendet
über den die Kommunikation stattfindet.
Im übergeordeneten Programm wird nun folgendes gemacht:

dim Comm as new Protokoll_Lib
dim xxx as new Protokoll_Lib.SubClassA

Comm.Open

Das gelingt auch, nach dieser Anweisung ist der serielle Port geöfnet.

Spàter wird xxx.TestSub aufgerufen.

Wie man oben sehen kann versucht diese TestSub nun Daten über den bereits
geöffneten COMPort zu verschicken.

Jetzt ist allerdings die serielle Schnittstelle aus igrendeinem Grunde
geshclossen, obwohl ich nichts dergleichen unternommen habe.

Woran mag das wohl liegen und wie umgehe ich das ?

Kern des Problem ist , dass ich von der SUbclassA as auf eine Prozedur in
der übergeordneten Klasse zu greifen will.

Wie macht man das ?

Gruss Nico

Ähnliche fragen