Използвам наблюдаем модел в моята програма. Всичко работеше, преди да се наложи да променя малко кода. Ако трябва да бъда точен, промених наследяването на класа IObserver - в момента той наследява QObject:
class IObserver : public QObject
{
...
Направих го само поради едно нещо - имам нужда методът deleteLater() да се използва в наблюдател, за да мога да извикам имплементация на виртуална функция deinitialization() на IObserver. Така бих могъл да стандартизирам всеки манипулатор на съобщения IObserver.
Проблемът е, че вече наследих QObject (индиректно) в някои класове Observer. Като MainForm или AboutDialog. Всичко върви добре, докато не опитам да извикам метода „connect“ в класа AboutDialog.
Какво мога да направя? Наистина се нуждая от този метод deleteLater(), тъй като не мога да използвам „изтрий това“ в кода на IObserver - това ще извика деструктора на IObserver, а не класовете MainForm или Storage например.
Благодаря ти.