Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизУвеличится ли скорость в моём случае если я сделаю 2 потока? Найти похожие ветки
← →
rolex (2005-03-14 21:57) [80]To Defunct:
Ууу... я страшный баг нашёл.
Когда запустите прогу, посмотрите в Диспетчере Задач скока она места в ОЗУ съедает. Ок запомнили. Потом каждый раз при нажатии кнопки "Скан", размер проги в ОЗУ всё больше и больше растёт!!!
← →
Дмитрий Мыльников (2005-03-14 22:55) [81]Небольшое замечание по ООП в Delphi.
Во-первых, между записью
Inherited;
и
Inherited Create(False);
очень большая разница. Не помню начиная с какй версии, но в D7 точно, если написано просто Inherited, то компилятор подставляет вызов функции предка только в тех случаях, когда она в нём действительно существует. То есть, если в предке она объявлена abstract, либо не объявлено вовсе, то никакого вызова вставлено не будет. Зато если позже она перестанет быть абстрактной или появляется в предке, и в ней появится какой-то код, то вызов будет выполнен.
Если же написать с явным указанием, как во втором случае, то компилятор будет пытаться подставлять вызов всегда, в результате чего будет либо ошибка во время компиляции, либо abstract error во время выполнения (жаль только, что этот механизм не работает для функций).
← →
Anatoly Podgoretsky © (2005-03-14 22:59) [82]Естественно это только для методов.
← →
Дмитрий Мыльников (2005-03-14 23:06) [83]А я бы вообще запретил использовать статические процедуры и функции. :)))
Просто недавно пришлось одну прогу переделывать, так мы там с этими статическими функциями намучались. Вроде начнается иерархия классов, всё как у взрослых, только большая часть фукнций в базовых классах объявлена abstract. А ещё чуть позже выяснилось, что в конечных классах понатыкано вызовов из статических функций, и всё это ООП тем самым "коту под хвост". Её уже не перекроешь никак, и виртуальной не объявишь. Короче, пришлось всё почти полностью переделывать...
← →
Anatoly Podgoretsky © (2005-03-14 23:09) [84]Ну это уровень компетентности программиста.
Молодец, наш человек - переписать все нафиг :-)
← →
GuAV © (2005-03-14 23:13) [85]А самое прикольное то, что этот inherited хоть и нафиг не нужен для WM_USER + 90, ошибка компиляции вызванная его наличием IMHO указывает на ошибку при копировании кода, т.к. в message методе inherited есть вызов обработчика сообщения наследника, и не исключено что в этом и заключается причина [80].
← →
Defunct © (2005-03-15 10:10) [86]except
on E:Exception do ShowMessage(E.ClassName+" " +E.Message)
end
inherited;
end;
То что жирным выделил удалил из кода. А то компилятор ругался.
точка с запятой после end потерялась.
rolex (14.03.05 21:57) [80]
Strings := TStringList.Create;
В OnCreate формы перенесите
А в Button1Click - замените Strings := TStringList.Create; на Strings.Clear;
Страницы: 1 2 3 вся ветка
Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Память: 0.6 MB
Время: 0.042 c