Thema Datum  Von Nutzer Rating
Antwort
Rot Parameterübergabe an eine Klassenmethode funktioniert nicht
15.05.2016 00:27:12 TD
NotSolved
15.05.2016 08:49:02 SJ
NotSolved
15.05.2016 23:27:29 Gast66963
NotSolved
17.05.2016 07:43:22 SJ
NotSolved
17.05.2016 14:41:49 TD
NotSolved

Ansicht des Beitrags:
Von:
TD
Datum:
15.05.2016 00:27:12
Views:
1471
Rating: Antwort:
  Ja
Thema:
Parameterübergabe an eine Klassenmethode funktioniert nicht

Hallo zusammen,

ich habe eien Klasse cUserContainer die als Eigenschaft eine Collection enthält (colReports).

Mit der Klassenmethode AddReport wird eine Instanz der Klasse CReport übergeben und der Collection hinzugefügt.

Soviel zur Theorie, leider bekomme ich folgende Fehlermeldung:

Laufzeitfehler 438: Objekt unterstützt diese Methode oder Eigenschaft nicht.

Anbei Code der Klasse cUserContainer

Public strUser As String
Public strFolder As String
'Enthält alle momoReports des Users
Public colReports As Collection

'Es brauch eine Klasse mit usernamen, ordner, [dateinamen,jahr, monat]
Public Property Get GetUser()
 GetUser = strUser
End Property

Public Property Let SetUser(pUser As String)
 strUser = pUser
End Property

Public Property Get GetFolder()
 GetFolder = strFolder
End Property

Public Property Let SetFolder(pFolder As String)
 strFolder = pFolder
End Property

Public Sub AddReport(pReport As cReport)
 If colReports Is Nothing Then Set colReports = New Collection
 colReports.Add (pReport)
End Sub

die Klasse cReport

Private strFileName As String
Private intYear As Integer
Private intMonth As Integer

Public Sub Init(pFilename As String, pYear As Integer, pMonth As Integer)
 strFileName = pFilename
 intYear = pYear
 intMonth = pMonth
End Sub

Public Property Let SetFilename(pFilename As String)
 strFileName = pFilename
End Property

Public Property Get GetFilename() As String
 GetFilename = strFileName
End Property

Public Property Let SetYear(pYear As Integer)
 intYear = pYear
End Property

Public Property Get GetYear() As Integer
 GetYear = intYear
End Property

Public Property Let SetMonth(pMonth As Integer)
 intMonth = pMonth
End Property

Public Property Get GetMonth() As Integer
 GetMonth = intMonth
End Property

Der Aufruf

Private Sub TestKnopf_Click()

 Dim cont As cUserContainer
 Dim rep As cReport
 
 Set cont = New cUserContainer
 Set rep = New cReport
 Call rep.Init("derDateiName", 2015, 12)
 Debug.Print rep.GetYear
 Debug.Print rep.GetMonth

 'Bei der folgenden Zeile wird der Fehler gemeldet...
 Call cont.AddReport(rep) 

End Sub

Bin am verzweifeln und freue mich über jede Unterstützung.

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Parameterübergabe an eine Klassenmethode funktioniert nicht
15.05.2016 00:27:12 TD
NotSolved
15.05.2016 08:49:02 SJ
NotSolved
15.05.2016 23:27:29 Gast66963
NotSolved
17.05.2016 07:43:22 SJ
NotSolved
17.05.2016 14:41:49 TD
NotSolved