Я все еще пытаюсь обернуть голову тем, как интерфейсы и события работают вместе (если вообще?) в VBA. Я собираюсь создать большое приложение в Microsoft Access, и я хочу сделать его максимально гибким и расширяемым. Для этого я хочу использовать MVC, Интерфейсы (2) (3), Классы пользовательских коллекций, Поднятие событий с использованием пользовательских классов коллекций, поиск лучших способов централизовать и управлять событиями, вызванными элементами управления в форме, и некоторыми дополнительными шаблонами проектирования VBA,
Я ожидаю, что этот проект станет довольно волосатым, поэтому я хочу попытаться оценить ограничения и преимущества использования интерфейсов и событий вместе в VBA, поскольку они являются двумя основными способами (я думаю), чтобы действительно реализовать рыхлую связь в VBA.
Для начала существует этот вопрос об ошибке, возникающей при попытке использовать интерфейсы и события вместе в VBA. В ответе говорится: "По-видимому, событиям не разрешается проходить через класс интерфейса в конкретный класс, как вы хотите использовать" Реализаторы ".
Затем я нашел этот оператор в ответе на другом форуме: "В VBA6 мы можем только поднимать события, объявленные в интерфейсе по умолчанию класса, - мы не может поднять события, объявленные в реализованном интерфейсе".
С тех пор, как я все еще сталкиваюсь с интерфейсами и событиями (VBA - это первый язык, на котором у меня действительно была возможность опробовать ООП в реальном мире, я знаю дрожь), я не могу полностью работать в своем подумайте, что все это означает для совместного использования событий и интерфейсов в VBA. Это похоже на то, что вы можете использовать их одновременно, и это похоже на то, что вы не можете. (Например, я не уверен, что обозначается выше "интерфейсом класса по умолчанию" и "реализованным интерфейсом".)
Может кто-нибудь дать мне некоторые основные примеры реальных преимуществ и ограничений использования интерфейсов и событий вместе в VBA?