Передача класса, содержащего переопределенные виртуальные методы, в dll - PullRequest
1 голос
/ 22 сентября 2011

У меня есть приложение и DLL, написанные на Delphi 2006.

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

Класс передается в DLL через экспортированный метод, экспортированный метод знает только о базовом классе. Я вызываю методы класса внутри DLL, переопределенные методы не вызываются.

Мне нужно что-то сделать, чтобы это заработало? это просто невозможно?

1 Ответ

5 голосов
/ 22 сентября 2011

Вы не можете создать объект в одном модуле и вызывать его методы в другом модуле. Под модулем я подразумеваю .exe / .dll.

Если вы хотите пересечь такие границы, вам нужно использовать пакеты, COM или бесплатные функции. Пакеты выглядят заманчиво, но вы должны использовать один и тот же компилятор для всех пакетов в системе. Если это не ограничивает вас, тогда используйте пакеты. В противном случае используйте COM или бесплатные функции.

...