Цитата(ViKo @ Dec 3 2015, 12:36)

В C++ не силен, но я не вижу где создаются объекты Derv1, также и a. Они, вообще, создаются?
Я тоже не гуру, но как я понимаю выражение Base* pBase =&Derv1(); - это
1. создание объекта типа Derv1.
2. создание указателя pBase на объекты типа Base.
3.Взятие адреса объекта Derv1 и присвание его pBase.
Как-то так.

Хочу полиморфмно обращаться к объектам типа Base и их наследникам.
Цитата(Сергей Борщ @ Dec 3 2015, 12:44)

Указатель также уничтожается при выходе из функции, так что ругань идет на то, что объект уничтожается еще до присвоения указателю. И код полностью аналогичен вашему, насколько я понимаю.
У меня указатель создается в конструкторе глобального объекта TInterface и уничтожаться он не должен.