Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2007-01-10 08:26:36 ЛС | профиль | цитата
С объектными кодами - это возможно и перебор
У каждого компилятора тут свой манер может оказаться...

А если совместимость на уровне бинарного кода, то это dll
И как отмечал коллега tsdima - тут все придумано, это COM-технология (с конструкторами, деструкторами, счетчиками ссылок, возвратом исключения...)
Там тоже начинается все понятно: dll-ка импортирует конструктор (с параметром-указателем на на такой же класс, что и возвращает, для вызова event-ов), а в интерфейс добавляет два наших любимых метода: doWork и GetVar (которые, правда, в отличии от наших любимых, должны возвращать HResult).
Осталось TData выполнить разумно. Чтобы не пристегнуть абсолютно все, что надо и не надо...

Это и есть те самые интерфейсные проблемы, о которых я долго и безуспешно беспокоился....

[size=-2]------ Добавлено в 08:26
Dilma писал(а):
PS: интересно, а в примере чья бага затерлась - кодогенератора или среды

Это в каком
Если в моем, то сразу понятно, что CodeGen не поддерживает создание класса без создания объекта. Не озадачивался этим никто.
Но сделать это - без проблем. Если принять за критерий НЕ создания объекта определенный класс контейнера. Впрочем, критерием может быть и "не видимость" контейнера. Для этого в CodeGen необходимо не пропускать такие, а анализировать на содержимое.

Но не пробовал еще...
карма: 9

0