![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как создавать объект при инитиализации только в run-time
aly © (2006-08-02 11:29:00)Есть bpl, в которой при инитиализации создается объект. Нужно, чтобы этот объект создавался только в run-time.
Юрий Зотов (2006-08-02 12:50:00) [1]Более надежная по сравнению с [3] модификация:
if AnsiSameText(GetEnvironmentVariable('DELPHI') + '\Bin\Delphi32.exe', Application.ExeName) then
ShowMessage('design-time')
else
ShowMessage('run-time');
Сергей М. (2006-08-02 12:32:00) [2]
> aly
При инициализации bpl следует определить, в чье адресное пространство она в тек.момент загружена.
Если в АП Делфи-процесса, то это design-time, иначе - ран-тайм.
Юрий Зотов (2006-08-02 12:14:00) [3]> Reindeer Moss Eater © (02.08.06 11:47) [2]
Всегда получится run-time даже при загрузке в IDE.
> aly
Косвенный, но достаточно достоверный способ:
if Application.MainForm.ClassName <> 'TAppBuilder' then это_runtime;
Reindeer Moss Eater (2006-08-02 11:47:00) [4]Создай еще один класс. в инициализации бпл создавай его экземпляр.
в конструкторе смотри стэйт. если в нем нет csDesigning, то смело создавай свой компонент.
Сергей М. (2006-08-02 11:38:00) [5]Что в дан.случае подразумевается под "инициализацией" ?