Цитата:
Сообщение от Alegun
Уберите везде строчку с freeandnil и вставьте её первой в createtmbutton ввиде if MB <> nil then FreeAndNil(MB);
|
Это ничего не изменит и будет примерно также если бы просто расскоментировать строчку CreateTMButton();
Работает (без AV) только из-за того что объект наново создается и в том же адресном пространстве... Но это чисто мое предположение. Я еще не вникал по случайности оно так получается или по какому-то задуманому механизму.
Суть в том что надо вызывать FreeAndNil(MB) или его аналог в любом месте кода. Как во внутрях самого объекта MB так и за их предалами... И не важно будет ли объект пересоздан или нет
Все это не извращенными людьми делается внешними вызовами (в отношении к MB) по типу TForm1.FBClick и разными вариациями на тему...
PS: На коментарии в коде можно не смотреть.