Arioch1
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: понятие Зловещей долины относящейся к эмоциональным аспектам робототехники | оно относится не только к роботехнике - смотри например легенды об оборотнях и вампирах и подменышах. и не только про человекообразных - возьми ужастики, про миленькую собачку из которой или тентакли полезут или еще что. Проблема появляется когда что-то выглядит родным и привычным, но ведёт себя "не по правилам." Тут уже был гуру Фотошопа, которы обещал за пару часов сделать MacOS интерфейс на FMX - и таки "внешний вид" он более-менее повторил. А вот поведение - не смог. А именно это сочетание чужеродного действия под прикрытием привычной каринки и лишает уверенности и комфорта. Цитата: a := TJclStringList.Create; a.Split('SourceString','S').Trim.Join(#13#10); Утечка 100%-ная. | Зависит от типа переменной, при правильном типе утечки нет Цитата: Вот если бы было что-то типа: Код: IJclStringList(TJclStringList.Create).Split('SourceString','S').Trim.Join(#13#10); | Там есть глобальная функция, возвращающая новый объект через интерфейс. Я же лично предпочитаю делать класс с непубличным конструктором и классовой функцией "New: Ixxxx" Но дело как раз в том, что JclStringList имитирует TStringList и потому создание через конструктор выглядит естественным и правильным. Чтобы можно было просто подставить в не-ARC код вместо штатного. Цитата: имхо, JCL весьма и весьма посредственная библиотека ... на троечку из 5. | Там где нужно на 5 - можно и переписать. Предпочитаю иметь широкий набор удовлетворительных инструментов, чем разговоры об идеальном, который мжет быть кто-нибуь напишет, выложит и не забросит Добавлено: Цитата: Я офигел от очевидности решения! Это ж на каждый чих нужно узнавать у гуру как добраться к "абстрагированной" платформенной фиче!! | Давай надеяться, что метод "как добраться" будет везде один и тот же, и не ради нас сирых, а просто потому что так писать удобнее. Взять тот же VCL - такие методы как Perform, RecreateWnd тоже не очивидны и в MSDN не прописаны. Но к ним в конце концов привыкли, как к особенности библиотеки, и вопросов не задаём. Добавлено: Цитата: Имхо, Delphi тут не причём. | Как это не при чём? Дельфи позволяет написать и (даже без ворнингов!) скопилировать принципиально опасный код. Это было бы нормально для "ассемблера" С++, но это не хорошо для Паскаля, который "не позволяет прострелить себе ногу" Так что это - недостаток языка, как ни крути. Другой вопрос, что как это можно бы было исправить, не ломая совместимости? Впрочем, теперь уже не важно. | Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 23:19 14-05-2013 | Исправлено: Arioch1, 23:21 14-05-2013 |
|