У каждого компилятора тут свой манер может оказаться...
А если совместимость на уровне бинарного кода, то это dll
И как отмечал коллега tsdima - тут все придумано, это COM-технология (с конструкторами, деструкторами, счетчиками ссылок, возвратом исключения...)
Там тоже начинается все понятно: dll-ка импортирует конструктор (с параметром-указателем на на такой же класс, что и возвращает, для вызова event-ов), а в интерфейс добавляет два наших любимых метода: doWork и GetVar (которые, правда, в отличии от наших любимых, должны возвращать HResult).
Осталось TData выполнить разумно. Чтобы не пристегнуть абсолютно все, что надо и не надо...
Это и есть те самые интерфейсные проблемы, о которых я долго и безуспешно беспокоился....
[size=-2]------ Добавлено в 08:26
Dilma писал(а):
PS: интересно, а в примере чья бага затерлась - кодогенератора или среды Это в каком
Если в моем, то сразу понятно, что CodeGen не поддерживает создание класса без создания объекта. Не озадачивался этим никто.
Но сделать это - без проблем. Если принять за критерий НЕ создания объекта определенный класс контейнера. Впрочем, критерием может быть и "не видимость" контейнера. Для этого в CodeGen необходимо не пропускать такие, а анализировать на содержимое.
Но не пробовал еще...



Поиск
Друзья
Администрация