Перейти к содержанию
Fire Monkey от А до Я

Лидеры

Популярный контент

Показан контент с высокой репутацией 10.08.2019 во всех областях

  1. Собственно понадобился подобный компонент для FMX, но готового решения найти не смог - пришлось ваять свой. Использовать проще простого: var scenaries: TDictionary<TFmxObject, string>; begin scenaries := TDictionary<TFmxObject, string>.Create; scenaries.Add(btn_1, '1 Button'); scenaries.Add(btn_2, '2 Button'); scenaries.Add(btn_3, '3 Button'); scenaries.Add(rctngl, 'Rectangle'#13#10'Rectangle'#13#10'Rectangle'#13#10'Rectangle'#13#10'Rectangle'#13#10'Rectangle'#13#10'Rectangle'); scenaries.Add(pnl_1, 'Panel Panel Panel Panel Panel Panel Panel Panel Panel Panel'#13#10'Panel'); scenaries.Add(nil, 'Msg without target control!'); try instructor.LoadSteps(scenaries); finally FreeAndNil(scenaries); end; Репозиторий GitHub: https://github.com/ange007/TInstructor/
    2 балла
  2. Под андроид идет опция AUTOREFCOUNT - все объекты имеют счетчик ссылок... любое присваивание - это +/- ссылки, даже Free не честное: procedure TObject.Free; begin // under ARC, this method isn't actually called since the compiler translates // the call to be a mere nil assignment to the instance variable, which then calls _InstClear {$IFNDEF AUTOREFCOUNT} if Self <> nil then Destroy; {$ENDIF} end; т.е. Free ничего не делает!!! - экземпляр остается в зомбирежиме (ты его убил а оно ходит) пока счетчик до 0 не до тикает. TObject(TreeItem); - пытается найти методы подсчета ссылок (Это же объект!) и не находит т.к. это не объект вовсе. TTreeItem = record меняем на TTreeItem = class, честно создаем и не забываем убить, хотя под AUTOREFCOUNT - оно само должно помереть если циклической ссылочности нет.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...