Показать сообщение отдельно
  #3  
Старый 12.04.2017, 20:49
MProg MProg вне форума
Прохожий
 
Регистрация: 12.04.2017
Сообщения: 8
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Уберите везде строчку с freeandnil и вставьте её первой в createtmbutton ввиде if MB <> nil then FreeAndNil(MB);

Это ничего не изменит и будет примерно также если бы просто расскоментировать строчку CreateTMButton();

Работает (без AV) только из-за того что объект наново создается и в том же адресном пространстве... Но это чисто мое предположение. Я еще не вникал по случайности оно так получается или по какому-то задуманому механизму.

Суть в том что надо вызывать FreeAndNil(MB) или его аналог в любом месте кода. Как во внутрях самого объекта MB так и за их предалами... И не важно будет ли объект пересоздан или нет

Все это не извращенными людьми делается внешними вызовами (в отношении к MB) по типу TForm1.FBClick и разными вариациями на тему...

PS: На коментарии в коде можно не смотреть.
Ответить с цитированием