A03 - Interfaces und Events / Deklaration

09/07/2009 - 14:06 von Thomas Pfoch | Report spam
Hallo zusammen,

ich möchte ein Interface definieren, das auch Events deklariert

z.B. Interface-Klasse "IControlPanel":
Public Event KontextChanged()
Public Property Get Kontext() as String: End Property

Wenn ich nun eine Implementierung dieses Interfaces versuche, habe ich
Probleme, den Eventnamen anzugeben (folgendes würde ich erwarten:

z.B. Implementierung "SearchPanel"
Implements IControlPanel
Public Event IControlPanel_KontextChanged()
Public Property Get IControlPanel_Kontext() as String: End Property

Bei Properties stellt man den Namen des zugehörigen Interfaces voran -
getrennt durch einen Underscore (wie oben angegeben). Das funktioniert aber
bei Events nicht mehr - hier wird der Underscore als ungültiges Zeichen
abgelehnt.

Bug oder Feature? Und wie ist der work-around?

Vielen Dank an alle, die mir bis hierher gefolgt sind -
und TIA für alle Antworten

Thomas Pfoch
 

Lesen sie die antworten

#1 Thomas Pfoch
09/07/2009 - 14:37 | Warnen spam
Hi Mark,

Feature: Interfaces kennen keine Events, aber hatten wir das nicht
schon vor làngerer Zeit am Telefon?


Hatten wir? Ich weiss ohl, dass es mih regelmàßig wurmt und ich die Suche
schon öfter aufgegeben habe. Aber just in diesem Moment könnte ich es mal
wieder wunderbar brauchen...
...ja - und ich kann es tatsàchlich kaum glauben, dass es an dieser Stelle
seitens des Compilers keine vernünftige Fehlermeldung gibt - und dass trotz
des OH-Eintrags "Naming für Events entspricht dem von normalen Variablen"
genau das eben nicht funktioniert und das alles nur deshalb nicht klappen
soll...

"Interfaces in VBA are evil". Nutze .net...


Weg von Access heißt weg vom Desktop. Für Inter/IntraNet-Anwendungen gibt
es aber durchaus Alternativen zu .net...

Viele Grüße
Thomas

Ähnliche fragen