Wie auf ein aktives Objekt aus einer anderen Klasse zugreifen?

18/05/2009 - 15:54 von UweK | Report spam
Wie auf ein aktives Objekt aus einer anderen Klasse zugreifen?
Hallo Leute,

ich habe in einem Namespace (FTP) 2 Klassen (Verbindung und Datenaustausch).
Nun möchte ich, nachdem ich mich über die Klasse Verbindung mit dem
FTP-Server
verbunden habe, in der Klasse Datenaustausch in der Sub DateienEmpfangen,
prüfen
ob die Verbindung zum FTP-Server noch besteht.

Wie macht man das?
Mir wird immer "gesagt", dass FTP.Verbindung.Hergestellt, False ist, obwohl
die
Verbindung besteht.
Nachfolgend Codeausschnitte vom Aufruf aus der Anwendung und aus den beiden
Klassen:

Anwendung
.
.
.

Private Sub btnEmpfangen_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnEmpfangen.Click
If FtpVerbindung.Hergestellt Then 'Hier ist die Prüfung ok,
Hergestellt ist True
FtpDatenaustausch.DateienEmpfangen()
End If
End Sub


Klasse Verbindung:
Namespace FTP

Public Class Verbindung
.
.
.

Public Function Hergestellt() As Boolean
If FtpServer.CheckConnect = True Then
Hergestellt = True
Else
Hergestellt = False
End If
End Function

.
.
.
End Class
End Namespace

Klasse Datenaustausch:
Namespace FTP

Public Class Datenaustausch
Dim FtpVerbindung As New FTP.Verbindung 'Ohne New gehts auch nicht

.
.
.

Public Sub DateienEmpfangen()
If FtpVerbindung.Hergestellt Then 'Hier ist Hergestellt, False
.
.
.
End if
End Sub

End Class
End Namespace

Kann mir bitte jemand sagen wo der Fehler liegt?

Vielen Dank im Voraus!

Gruß,
Uwe.
 

Lesen sie die antworten

#1 Jörg Pauly
18/05/2009 - 16:22 | Warnen spam
Hallo, Uwe,

"UweK" schrieb im Newsbeitrag
news:

Mir wird immer "gesagt", dass FTP.Verbindung.Hergestellt, False ist,
obwohl
die
Verbindung besteht.
Nachfolgend Codeausschnitte vom Aufruf aus der Anwendung und aus den
beiden
Klassen:

Anwendung
.
.
.

Private Sub btnEmpfangen_Click(ByVal sender As System.Object, ByVal e
As
System.EventArgs) Handles btnEmpfangen.Click
If FtpVerbindung.Hergestellt Then 'Hier ist die Prüfung ok,
Hergestellt ist True
FtpDatenaustausch.DateienEmpfangen()
End If
End Sub


Klasse Verbindung:
Namespace FTP

Public Class Verbindung
.
.
.

Public Function Hergestellt() As Boolean
If FtpServer.CheckConnect = True Then
Hergestellt = True
Else
Hergestellt = False
End If
End Function

.
.
.
End Class
End Namespace

Klasse Datenaustausch:
Namespace FTP

Public Class Datenaustausch
Dim FtpVerbindung As New FTP.Verbindung 'Ohne New gehts auch nicht



Du hast ein Objekt "FtpVerbindung" erstellt, fragst aber "FTP.Verbindung",
also die vollqualifizierte Klasse ab.

Statt FTP.Verbindung.Hergestellt musst Du Dein Objekt, also
FtpVerbindung.Hergestellt abfragen.

Also der berühmte "Punkt zuviel"... :-)

Viele Grüsse
Jörg

Ähnliche fragen