Kompilierungsfehler bei eigenem Type

06/06/2009 - 14:59 von Gilbert Mirenque | Report spam
Hallo NG,
ich bekomme gerade einen Fehler, mit dem ich nichts anfangen kann:

Nur öffentliche, benutzerdefinierte Typen, die in öffentlichen
Objektmodulen definiert sind, können als Parameter oder Rückgabetypen
für öffentliche Prozeduren von Klassenmodulen oder als Felder
öffentlicher, benutzerdefinierter Typen verwendet werden
Siehe auch Zusatzinfo

Für diesen Fehler gibt es folgende Ursache und Lösung:

Sie versuchten, einen öffentlichen, benutzerdefinierten Typ als
Parameter oder Rückgabetyp für eine öffentliche Prozedur eines
Klassenmoduls oder als Feld von öffentlichen, benutzerdefinierten Typen
zu verwenden. So können nur öffentliche, benutzerdefinierte Typen
verwendet werden, die in einem öffentlichen Objektmodul definiert sind.

Ich habe in einem Modul eine globale Variable und einen Typ vereinbart:

Public Type Employee
Name As String
color As Long
Cell As Object
End Type

Dim employees

Die Variable soll in einer private Methode initialisiert und es soll wie
folgt darauf zugegriffen werden:

Private Sub initEmployees()
employees = CreateObject("Scripting.Dictionary")
Dim emp As Employee
Set emp.Cell = empCell
emp.Name = empCell.Value
emp.color = empCell.Interior.color
Call employees.Add(emp.Name, emp)
End Sub

Doch beim Eintritt in die Methode kommt der oben genannte Fehler und in
der Zeile mit dem Call wo Add aufgerufen wird, wird der zeite Parameter
markiert. Was sagt mir das? Was habe ich falsch gemacht?

Viele Grüße
Gilbert
 

Lesen sie die antworten

#1 Gilbert Mirenque
06/06/2009 - 16:31 | Warnen spam
Niemand eine Idee?

Ähnliche fragen