Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
есть ряд типовых операций с базой (много). Для каждой громозкая форма с математикой. Все это в одном проекте "Типа интерфейс вызова типовых операций". Кажется логично держать формы которые могут непонадобиться в динамичи подгружаемых dll. Или что я не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 12:13 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
ИМХО это зависит от многих условий. + нахождения в dll я вижу такой: если на машине мало оперативной памяти, то динамически подгружая/освобождая библиотеку ты более оптимально её используешь. Опять же размер ехе-шника меньше. Но мне кажется (я уже писал) лучше создавать/освобождать сами формы по мере обращения. - неудобно таскать эти библиотеки с собой, добавочный кодинг, проверки и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 12:25 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
но еше размер стартовой екзешки мне критичен так как должен лежать на сети ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 12:35 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
В инете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 12:51 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
внутри, но на другом конце выделенки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 14:30 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
но еше размер стартовой екзешки мне критичен так как должен лежать на сети А Dll тебе чего, по сети не надо будет таскать? Это сто лет назад такими делами страдали, а сейчас то чего? Или книги только старые по программированию? :)) Пиши нормально. Сто раз уж посоветовали - кроме геморроя и кучи ошибок и проблем ничего не прибавится. И самый лучший способ, который уже предлагали - когда форма нужна - создавать, когда закрываешь - удаляй: procedure Form1.OnClose(...) ... Action := caFree; Form1 := nil; ... end; и все будет хорошо. А для отчетов другое что-нить юзай, FastReport, например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 15:05 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
>>1. Никогда не юзай Destroy. Юзай Free. Долго объяснять почему... Oбъяснять не долго. Стандартный метод Free: If Assigned(P) then Destroy; т.е. осуществляется проверка объекта - жив или нет, чтобы не уничтожить его два раза. Поэтому free можно вызывать сколько угодно раз и всё будет ОК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 16:11 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
> hDrummer Это самый простой пример, я имел ввиду в случае наследования, полиморфа, абстрактых методов, перекрытия vmt и прочего. а это любой знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 16:52 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
>>Это самый простой пример, я имел ввиду в случае >>наследования, полиморфа, абстрактых методов, >>перекрытия vmt и прочего. >>а это любой знает. ну накидал терминов... прямо дрожь должна брать, чтоли? Стандартный метод Free для наследования If Assigned(P) then Destroy; inherited Free; для абстрактных методов какой ещё Free? причём здесь перекрытие vmt? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 18:27 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
Человек дурью мается, а мы тут советы даем :() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 18:36 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
Согласен с tygra ))) Хватит идиотничать, господа, оффтопик сплошной... а мы тут начинаем перетирать. Не хай сам мучается автор сабжа... я б на его месте хоть маленькую книжку прочел прежде чем забивать головы адвансенд юзверям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2002, 19:38 |
|
||
|
Вопрос по динамическому созданию компонеты
|
|||
|---|---|---|---|
|
#18+
Только что провел експеримент. (WinNT40) На форму 2 поместил репорт. В первом случае создаю форму так : Form2 := TForm2.Create (Application); ... удаляю так : Form2.Free; Form2 := nil; Во втором случае (пример не привожу, есть на ссылках выше) работаю с той же формой 2, но которая у меня в динамической dll. Так вот во втором случае при "выгрузке" dll память у меня очищается на _столько_ же насколько увеличивается при ее "загрузке". А в первом примере только процентов на 5. Значит держать формы в dll иногда может быть хорошо. Конечно нужно иметь в виду сложность кода и прочие "прелести" dll. И беспорно что это не имеет смысла когда есть 100% уверенность что dll будет использоваться. Да, практическая полезность такого решения чаще сомнительна. Но хотя бы в теории это интересно. Еще раз всем искреннее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2002, 11:16 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2119616]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
11ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 187ms |

| 0 / 0 |
