|
|
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Здравствуйте !!! В одном из модулей проекта нужно произвести регистрацию процедуры. Код: pascal 1. Сама регистрация выглядит так Код: pascal 1. 2. 3. 4. 5. 6. 7. Запихнул RegisterProc в инициализацию модуля, но в момент инициализации RegisterComponentsProc = nil и валится ошибка Код: pascal 1. 2. Как отложить инициализацию СВОЕГО модуля в конец списка ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 09:15 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Petrashkevich, расположение (выше/ниже) модулей в dpr влияет на последовательность вызовов initialisaion. Смотри, может поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 10:36 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Petrashkevich, вписать в uses блока Interface модуль, который выполняет инициализацию RegisterProc и не мудрить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 10:45 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
А так можно сделать ? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 12:33 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Petrashkevich, всё можно, если карму не жалко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 12:35 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)всё можно, если карму не жалко А что это значит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 12:50 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Я как-то видел человека которому надо было сохранить массив строк в программе, так вот он чтобы это сделать положил на форму невидимый TMemo и в него строки засунул. Вот это как бы примерно из той же серии :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 13:11 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Проблема в том, что текущий модуль используется в разных проектах. В разных проектах метод регистрации свой, и соответственно USES не получается прикрутить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 14:03 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Таймер требует гуя. Более универсальное решение - поток. Но более корректно отследить, как и когда присваивается RegisterComponentsProc. Я нашел только в Classes, и то там только такая же проверка, как в RegisterProc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 14:15 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Petrashkevich, ну если уж плохого не избежать сделай как в RTL заведи интерфейсный модуль и в нём сделай процедуру регистрации, в которой просто сохраняй в список и уже его вызывай для инициализации заполненной коллекции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 14:16 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
PetrashkevichВ одном из модулей проекта нужно произвести регистрацию процедуры. Это процедура выставляется самой средой. Зачем она в рантайме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 15:03 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
wadmanЭто процедура выставляется самой средой. Зачем она в рантайме? Она нужна чтобы зерегистрировать компонент из текущего модуля. Что бы компонент появился в дизайнере форм проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 15:09 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
PetrashkevichwadmanЭто процедура выставляется самой средой. Зачем она в рантайме? Она нужна чтобы зерегистрировать компонент из текущего модуля. Что бы компонент появился в дизайнере форм проекта. А сделать пакет и в него засунуть компонент - не рассматривается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 15:18 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
PetrashkevichwadmanЭто процедура выставляется самой средой. Зачем она в рантайме? Она нужна чтобы зерегистрировать компонент из текущего модуля. Что бы компонент появился в дизайнере форм проекта. Не взлетит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 15:19 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
DarkMasterА сделать пакет и в него засунуть компонент - не рассматривается? Проект не загружает список пакетов, регистрация проходит вручную. Внедрить регистрацию своего модуля (и компонента) пока что нельзя Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 22:00 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Нафига вам эта initialization/finalization. Один раз порадовались чудесному автоматическому вызову, а через пять лет ищите "и хто это сделал, да почему именно в этом порядке?". Инициализируйте явно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 23:56 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Система при старте регистрирует некий перечень компонент Я хочу добавить в систему свой компонент В момент инициализации моего модуля, процедура регистрации ещё не назначена Мне нужно отложить регистрацию, до тех пор, когда назначится процедура регистрации. Но прикрутить модуль в USES я не могу, есть на то причины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2019, 02:38 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Petrashkevich, А прикрутить в uses тот модуль, который назначит процедуру инициализации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2019, 21:03 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Cobalt747Petrashkevich, А прикрутить в uses тот модуль, который назначит процедуру инициализации? Отложенная инициализация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2019, 21:07 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Petrashkevich, тогда добавляй директивы условной компиляции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2019, 10:21 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
Petrashkevich, Перекрыть System.InitProc? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2019, 11:34 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
PetrashkevichМне нужно отложить регистрацию, до тех пор, когда назначится процедура регистрации. Модуль включен в bpl? Нет? Кто тогда назначит эту процедуру, если не ide? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2019, 07:41 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
энди, в RxLib/JediVCL есть компонент TxxStrHolder - для хранений строк. И даже что-то типа TxxDFMData для хранения произвольных файлов. Василий 2Таймер требует гуя. Кроме того, таймер - всего лишь таймер, он не даёт гарантии, что не выполнится слишком рано, если запуск программы упадёт на что-то тяжёлое, типа общего запуска системы или обострения с обновлением у Касперского. В общем, надо в структуре программы явно зависимости прописывать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2019, 12:36 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
У тебя семантика процедуры RegisterProc какая? Можно ли её вызов просто игнорировать, выкинуть на помойку или нет? Если нет - то кто-то где-то должен регистрировать ВСЕ её вызовы. Вариант 1 Petrashkevich Код: pascal 1. 2. 3. 4. 5. 6. Вариант 2 Petrashkevich Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2019, 12:47 |
|
||
|
Отложенная инициализация
|
|||
|---|---|---|---|
|
#18+
PetrashkevichМне нужно отложить регистрацию, до тех пор, когда назначится процедура регистрации. Другими словами у тебя есть ДВЕ процедуры регистрации, для регистрации в разных местах. Промежуточном и локончательном. Значит СРАЗУ назначай ПЕРВУЮ процедуру регистрации, которая будет до поры до времени регистрировать в другом месте. А при назначении ВТОРОЙ процедуры регистрации - перекачивай в неё данные из первой. Кстати, в DevExpres 6 весь код из initialization/finalization перевели в два специальных TList Думаю, это для программ, состоящих из смеси BPL+DLL С одной стороны - тупой надоедливый boilerplate С другой - жесткий контроль когда и в каких условиях наконец их вызывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2019, 12:56 |
|
||
|
|

start [/forum/search_topic.php?author=rss2000&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 644ms |
| total: | 801ms |

| 0 / 0 |
