Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.61 MB
Время: 0.047 c
14-1110344458
begin...end
2005-03-09 08:00
2005.03.27
С Днём рождения! 9 марта


14-1109946252
ArMellon
2005-03-04 17:24
2005.03.27
Как подключить комп к телевизору


3-1109158923
Muchacho
2005-02-23 14:42
2005.03.27
Вычисляемые поля


1-1110637945
Dyusha
2005-03-12 17:32
2005.03.27
Освобождение памяти из под формы


1-1110789480
Max Zyuzin
2005-03-14 11:38
2005.03.27
StatusBar с прогрессом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский