Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

DataModul   Найти похожие ветки 

 
i-am-vladko ©   (2006-12-10 19:27) [0]

Возможно ли ускорить процесс создания DataModule? (yes - HOW ?)/(no - WHY?)


 
Anatoly Podgoretsky ©   (2006-12-10 19:29) [1]

> i-am-vladko  (10.12.2006 19:27:00)  [0]

У тебя миллионы датамодулей?
ДатаМодуль создает за несколько микросекунд.


 
i-am-vladko ©   (2006-12-10 19:31) [2]

DataModule всего 1, и большой
строка

>       Application.CreateForm(TDM, DM);

убивает 2222 мс времени


 
Anatoly Podgoretsky ©   (2006-12-10 19:36) [3]

> i-am-vladko  (10.12.2006 19:31:02)  [2]

Не может быть, дело не в создании, ты чего то наворотил там.


 
Desdechado ©   (2006-12-10 19:37) [4]

наверняка при создании сразу стоит подключение к БД и открытие полусотни датасетов, 75% которых никогда не понадобятся


 
i-am-vladko ©   (2006-12-10 19:47) [5]

connect к базе стоит намното позже


 
Anatoly Podgoretsky ©   (2006-12-10 19:48) [6]

> i-am-vladko  (10.12.2006 19:47:05)  [5]

Тогда у тебя в Create стоит Sleep(2220)


 
i-am-vladko ©   (2006-12-10 19:49) [7]

ничего подобного


 
Anatoly Podgoretsky ©   (2006-12-10 19:50) [8]

> i-am-vladko  (10.12.2006 19:49:07)  [7]

А ты внимательно посмотри.


 
i-am-vladko ©   (2006-12-10 19:53) [9]

время выполнения процедуры по OnCreate - 0 !!!.


 
Anatoly Podgoretsky ©   (2006-12-10 19:55) [10]

> i-am-vladko  (10.12.2006 19:53:09)  [9]

А чего же ты тогда на мозги капаешь, что мол 2222 мсек?
Для шуток у нас другая конференция.


 
Leonid Troyanovsky ©   (2006-12-10 19:57) [11]


> i-am-vladko ©   (10.12.06 19:53) [9]
> время выполнения процедуры по OnCreate - 0 !!!.


Мало ли в Бразилии Педров.

Доказывай (or показывай).

--
Regards, LVT.


 
i-am-vladko ©   (2006-12-10 20:01) [12]

еще раз.
есть DataModule.
строка
Application.CreateForm(TDM, DM);
из файла проекта выполняется 2222мс
Процедура по OnCreate DataModule выполняется 0мс
Коннект к базе стоит позже.
Откуда время набегает??


 
Anatoly Podgoretsky ©   (2006-12-10 20:02) [13]

> i-am-vladko  (10.12.2006 20:01:12)  [12]

Тебе уже сказали, между прочим это уже 13 по счету сообщение, а от тебя кроме воплей никакой конкретики.


 
Leonid Troyanovsky ©   (2006-12-10 20:03) [14]


> i-am-vladko ©   (10.12.06 20:01) [12]

> Откуда время набегает??


Т.е., отладчик не работает?

--
Regards, LVT.


 
i-am-vladko ©   (2006-12-10 20:12) [15]

что может быть конкретнее...
//on *.dpr file :
DateTime := Time;
Application.CreateForm(TDM, DM);
ShowMessage(FloatToStr((Time - DateTime)*60*60*24*1000));

вижу  2222 мс
комментирую  ShowMessage(FloatToStr((Time - DateTime)*60*60*24*1000));

дописываю
//DateModulCreate - OnCreate event on uDM.pas :
procedure TDM.DataModuleCreate(Sender: TObject);
var ...
begin
DateTime := Time;
.....
ShowMessage(FloatToStr((Time - DateTime)*60*60*24*1000));
end;

вижу 0мс!


 
i-am-vladko ©   (2006-12-10 20:15) [16]

отладчик - не работает ))
tDM большой, debug возможен только при вызове функций/процедур другого модуля


 
Джо ©   (2006-12-10 20:39) [17]

> [16] i-am-vladko ©   (10.12.06 20:15)
> отладчик - не работает ))

Срочно сдавай в починку.


 
i-am-vladko ©   (2006-12-10 20:49) [18]

если ставлю connect=TRUE DesignTime, время выполнения Application.CreateForm(TDM, DM); растет до 4195мс


 
Eraser ©   (2006-12-10 21:03) [19]

> [9] i-am-vladko ©   (10.12.06 19:53)
> время выполнения процедуры по OnCreate - 0 !!!.

это ни о чем не говорит.
мож там у тебя куча невизуальных компонентов с автостартом накидано.


 
i-am-vladko ©   (2006-12-10 21:09) [20]

TDM = class(TDataModule)
   DCOMConn: TDCOMConnection;
   WebConn: TWebConnection;
+ много cds (ClientDataSet)
 end;


 
Anatoly Podgoretsky ©   (2006-12-10 21:12) [21]

> i-am-vladko  (10.12.2006 21:09:20)  [20]

Вот все это должно быть отключено. Особенно ВЕБ соединения


 
i-am-vladko ©   (2006-12-10 21:13) [22]

вот все оно как раз и отключено


 
DrPass ©   (2006-12-11 00:43) [23]


> вот все оно как раз и отключено

Врешь. Проверь еще раз - однозначно и Active = true у твоих ClientDataSet, и соединения Connected. А больше там нечему тормозить


 
ЮЮ ©   (2006-12-11 02:24) [24]


> отладчик - не работает ))
> tDM большой, debug возможен только при вызове функций/процедур
> другого модуля


Сделай Pause. А потом F7(F8) (или смотри стек вызовов).


 
i-am-vladko ©   (2006-12-11 16:36) [25]

не работает ни F7/F8 ни BreakPoints....


 
Gadenysh   (2006-12-11 18:38) [26]

удали все из датамодуля и попробуй - тормозить не должно


 
ЮЮ ©   (2006-12-12 02:44) [27]


> не работает ни F7/F8 ни BreakPoints....

Не верю.

Включи Use Debug DCUs у проекта. Естественно, что выполняется не твой, а глубинный код VCL. И посмотри Call Stack после Pause.


 
DrPass ©   (2006-12-12 10:35) [28]


> i-am-vladko ©   (11.12.06 16:36) [25]
> не работает ни F7/F8 ни BreakPoints....

Ой, как интересно :)
a) В Debugger Options включи Integrated debugging
б) Проверь, что отображаемый в твоем редакторе модуль - это именно тот, который компилируется с программой. Так тоже может быть, если ты сделал копию файла



Страницы: 1 вся ветка

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.044 c
2-1165916904
Olleg_ator
2006-12-12 12:48
2006.12.31
Компонент TADOStoredProc


15-1165511417
Карелин Артем
2006-12-07 20:10
2006.12.31
Мед осмотр или очередная галочка.


3-1161332967
Juice
2006-10-20 12:29
2006.12.31
Округление в Firebird


15-1165474339
novoalex
2006-12-07 09:52
2006.12.31
Как реализовать в своём проекте...


2-1165934770
Ezorcist
2006-12-12 17:46
2006.12.31
как запихнуть картинку в файл ресурсов?