Вниз
Скачать: CL | DM;

Увеличится ли скорость в моём случае если я сделаю 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 вся ветка

Скачать: CL | DM;



Память: 0.59 MB
Время: 0.057 c
1-1110786259
x_shura
2005-03-14 10:44
2005.03.27
Ошибка отрисовки Virtual TreeView


1-1111045453
серж
2005-03-17 10:44
2005.03.27
передать параметры приложению


4-1108140456
Artur
2005-02-11 19:47
2005.03.27
Буфер обмена


6-1106827836
AlexG
2005-01-27 15:10
2005.03.27
Проблема с установкой callback-функции на функцию WinInet...


1-1110723546
Макс Т.
2005-03-13 17:19
2005.03.27
Выравнивание заголовка




   Наверх