|
|
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
В проекте создается 200 инстансов одной формы (тяжелое наследие) примерно таким кодом Код: pascal 1. 2. В итоге на это все уходит 12 секунд. "Тормозит" метод ReadState. Т.е. непосредственно вычитывание формы из dfm. Можно это как-то ускорить? Про создавать одну форму и перенастраивать ее знаю. Когда-то сделаю. Создавать форму при первом обращении к ней, пожалуй, еще сложнее, чем создавать одну. Тяжелый легаси код. Сейчас интересует именно как ускорить чтение dfm. Может Можно как-то клонировать уже созданную форму? С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:06 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Повесить окно "Загрузка форм" Это значительно ускорит процесс чтения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:08 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
DimaBr Повесить окно "Загрузка форм" Это значительно ускорит процесс чтения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:09 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Если 200 форм не видны на экране, то зачем их создавать ? Проще потратить время на вычистку Автосоздаваемых форм, чтем пытаться что-то изменить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:10 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
DimaBr Проще потратить время на вычистку Автосоздаваемых форм, чтем пытаться что-то изменить DimaBr Если 200 форм не видны на экране, то зачем их создавать ? Еще раз _Vasilisk_ Про создавать одну форму и перенастраивать ее знаю. Когда-то сделаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:18 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Сейчас интересует именно как ускорить чтение dfm вы точно уверены, что именно чтение .dfm занимает столько время, а не пост-обработка? Возможно, там дело в датасетах, у которых свойство .Active = true. Или еще что-нибудь долгое происходит в конструкторе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:23 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, создавать контролы в рантайме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:24 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Чтобы пользователь не нервничал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:27 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Кроик Семён вы точно уверены, что именно чтение .dfm занимает столько время, а не пост-обработка? Кроик Семён Возможно, там дело в датасетах, Кроик Семён Или еще что-нибудь долгое происходит в конструкторе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:28 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, автовыравнивание/сайзинг контролов на форме используется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:30 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
vavan автовыравнивание/сайзинг контролов на форме используется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:39 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Да. Массово ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:43 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Не лечите йодом, лучше рубите. Лучше день потерять, потом за 5 минут долететь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:47 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
vavan думаю это скорости тоже не добавляет Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:49 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
DimaBr Не лечите йодом, лучше рубите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:50 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Каждая форма привязана к управляющему объекту. И для каждого объекта создается своя форма. Потом показывается форма для выбранного объекта. При изменении состояния объекта он изменяет что-то на своей форме Мне это напоминает пост про шестиугольники. Вместо того чтобы нарисовать 200 объектов на одной канве, человек создаёт 200 контролов, потому что ОДИН нужно двигать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 15:51 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_> В проекте создается 200 инстансов одной формы (тяжелое наследие) В сторону - меня всегда удивляли дебри, в которых ты оказываешься и пытаешься выбраться. Это то прежнее место работы или уже новое? _Vasilisk_> "Тормозит" ... вычитывание формы из dfm. Можно это как-то ускорить? Можно, вариантов несколько. 1. Переработать архитектуру от вычитывания 200 форм. При чём вряд ли "не создавать одну и перенастраивать" - ибо тогда все объекты будут в очереди к 1 инстансу? Я бы скорее предложил создавать (вычитывать из dfm) 1 форму, а потом в цикле создавать новые чистые инстансы и клонировать/копировать в них первую форму. 2. Сделать своего наследника, который читать будет не из dfm, а из своего стрима - с учетом файлового кеша не знаю насколько это ускорит, но проверить как вариант можно. 3. Сделать своего наследника, который будет не читать из dfm, а тупо клонировать объект, переданный параметром - этакая вариация п.1. _Vasilisk_> Создавать форму при первом обращении к ней, _Vasilisk_> пожалуй, еще сложнее, чем создавать одну. Это я не понял. _Vasilisk_> Может Можно как-то клонировать уже созданную форму? Конечно, можно. RTTI, например. В последних версиях и готовые методы появились, наверное. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 16:16 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ В проекте создается 200 инстансов одной формы (тяжелое наследие) Я не спрашиваю, кто это придумал - и так ясно, что инопланетянин. Но мне очень интересно - зачем? Какую задачу он решал таким образом? _Vasilisk_ "Тормозит" метод ReadState. Точно он сам? Или таки выполнение различных методов свойств и прочих инициализаций из него? _Vasilisk_ Т.е. непосредственно вычитывание формы из dfm. Можно это как-то ускорить Единственное, что мне приходит в голову - взять из Classes.pas исходники TReader и на их основе сделать свой reader, применяющий каждую считанную строчку к 200-м формам разом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 16:27 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Это то прежнее место работы или уже новое? Гаджимурадов Рустам При чём вряд ли "не создавать одну и перенастраивать" - ибо тогда все объекты будут в очереди к 1 инстансу? Гаджимурадов Рустам Я бы скорее предложил создавать (вычитывать из dfm) 1 форму, а потом в цикле создавать новые чистые инстансы и клонировать/копировать в них первую форму. Гаджимурадов Рустам 2. Сделать своего наследника, который читать будет не из dfm, а из своего стрима - с учетом файлового кеша не знаю насколько это ускорит, но проверить как вариант можно. Гаджимурадов Рустам _Vasilisk_> Создавать форму при первом обращении к ней, _Vasilisk_> пожалуй, еще сложнее, чем создавать одну. Это я не понял Код: pascal 1. 2. 3. 4. 5. 6. Гаджимурадов Рустам Конечно, можно. RTTI, например Гаджимурадов Рустам В последних версиях и готовые методы появились, наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 16:32 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам _Vasilisk_> Может Можно как-то клонировать уже созданную форму? Конечно, можно. RTTI, например. В последних версиях и готовые методы появились, наверное. Я думаю, коллеге стоит уточнить вопрос: "Можно ли клонировать уже созданную форму так, чтобы это получилось быстрее, чем десериализацией?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 16:34 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
softwarer Но мне очень интересно - зачем? Какую задачу он решал таким образом? softwarer Точно он сам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 16:39 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Ну как точно? В Classes тайминги особо не поставишь. Думаю, если скомпилировать с отладочными dcu, AQTime ответил на этот вопрос. А так очень легко может быть, что оптимизироваться будет то, что и так проскакивает за доли секунды. _Vasilisk_ Смотрю по двум чекпойнам: вызов TForm.ReadState и вызов TForm.Loaded. По идее, вся инициализация должна происходить в методе Loaded Это какая-то в высшей степени странная идея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 16:44 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_> Вот этого и хочу. RTFM что? И куда смотреть? _Vasilisk_> Тупо рекурсивно перебирать все published свойства _Vasilisk_> и копировать их с эталона? Типа того, там несложно. Примеры приводились и у нас IIRC, и на SO наверняка есть. Я помню упоминания, что соотв. код есть где-то и внутрях VCL (или RTL), но в каком методе - искать лень. Для примера https://habr.com/en/post/204678 _Vasilisk_> А смысл? Если dfm тянется из ресурсов экзешника, который _Vasilisk_> уже загружен в память. Где здесь вообще файловая система? Ну да, считай то же самое. Я думал ты их снаружи (из БД и пр.) читаешь, собираешь. Тогда забудь. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 16:47 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
softwarer> чтобы это получилось быстрее, чем десериализацией?" Это довольно редкая прикладная задача: если кто-то не сталкивался с ней реально - вряд ли сможет подсказать точно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 16:48 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
softwarer AQTime ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 16:55 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ По исходникам как бы так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 17:34 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
softwarer AQTime Имя сбойного модуля: AQNATPROF.DLL, версия: 7.50.1260.86, метка времени: 0x503f5b51 Код исключения: 0xc00001a5 Путь сбойного модуля: C:\PROGRAM FILES (X86)\SMARTBEAR\AQTIME 7\BIN\EXTENSIONS\AQNATPROF.DLL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 17:54 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ softwarer AQTime Ну что я могу сказать... ошибка в не в профайлере :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 17:55 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
softwarer Ну что я могу сказать... ошибка в не в профайлере :) _Vasilisk_ Путь сбойного модуля: C:\PROGRAM FILES (X86)\SMARTBEAR\AQTIME 7\BIN\EXTENSIONS\AQNATPROF.DLL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 17:57 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Падает программа при запуске из под профайлера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 18:23 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
vavan обходил помнится аттачем к уже запущенному процессу ............... The “Attach-to-Process” feature is not available, that is, you cannot attach to existing processes. To profile an application, you have to run it from AQtime. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 18:33 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Можно перекрыть ReadState и отложить реальную загрузку контролов по времени (таймер, onIdle и т.д.). Можно подменить переменную формы ленивой загрузкой: Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 18:49 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, я бы попробовал сконвертить dfm в код. Если тормозит именно десериализация, то должно ускориться. Помнится, была утилитка под названием "dfm2pas" и в GExpert'ах был пункт меню для этого. Возможно, оба варианта устарели и лучше поискать что-нибудь поновее для этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 22:10 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Сейчас интересует именно как ускорить чтение dfm. Может Можно как-то клонировать уже созданную форму? http://delphiworld.narod.ru/base/clone_form.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2020, 23:45 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Ghost Writer Не знаю, быстрее ли это. Просто вспомнил, что есть такое http://delphiworld.narod.ru/base/clone_form.html Это не может быть быстрее Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 00:38 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
При изменении состояния объекта он изменяет что-то на своей форме Объект не должен знать ни о каких формах. Он должен изменять свои свойства. Одна единственная форма должна подключаться к любому объекту и в зависимости от свойств рисовать себя и на себе что надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 06:03 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
L1G _Vasilisk_, я бы попробовал сконвертить dfm в код. Если тормозит именно десериализация, то должно ускориться. Помнится, была утилитка под названием "dfm2pas" и в GExpert'ах был пункт меню для этого. Возможно, оба варианта устарели и лучше поискать что-нибудь поновее для этого. А смысл? Десериализация именно это и делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 10:27 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
LocksmithPC Одна единственная форма должна подключаться к любому объекту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 10:33 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
vavan LocksmithPC Одна единственная форма должна подключаться к любому объекту Все 100+? В любом случае, если создавать форму в момент открытия, то тормоза будут не так заметны, как создание 100+ форм при загрузке приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 10:55 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
alekcvp Все 100+? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 11:31 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
vavan alekcvp Все 100+? Не надо цепляться к словам. Если это информтабло сотни объектов, то нужна одна форма (№1) для мониторинга этой сотни и одна форма (№2) для детализации. Пусть форм №2 будет несколько, если надо сравнить детализацию 15 объектов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 12:00 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
LocksmithPC, я и не цепляюсь а лишь указываю что OP там виднее как оно бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 13:17 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
L1G> сконвертить dfm в код. Если тормозит именно десериализация, то должно ускориться. L1G> Помнится, была утилитка под названием "dfm2pas" и в GExpert'ах был пункт меню для этого. Интересная идея, кстати. "Хардкодирование" вместо "клонирования". Попробовать стоит, ИМХО. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 14:46 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Интересная идея, кстати. "Хардкодирование" вместо "клонирования". Попробовать стоит, ИМХО. Например, банальная установка координат компонента Код: 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. Т.е. Resize при загрузке из dfm вызывается лишь однажды, а так будет вызываться 4 раза. И в VCL строчка Код: pascal 1. встречается очень часто. Разве что попробовать Reader модифицировать, чтобы сам парсинг dfm происходил один раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 15:27 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Я отказался от идеи хранения кода DFM. Получается очень много неудобств. У меня простое создание компонент по их свойствам, перечисленным в ХМЛ. Все программно. Ничего лишнего. Кода понадобилось немного. Да, есть недостатки, но преимуществ намного больше, ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 16:35 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
страно что еще некто не кричал *нельзя так делать* и *ты что с урала?* раньше вроде так было когда про подобные безумие спрашивали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 18:45 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk> Я тут подумал, что все идеи с копированием свойств _Vasilisk> через RTTI, конвертацией dfm в pas быстрее не будут. А ты профайлером посмотрел, что конкретно больше всего тормозит при создании? И насколько тяжелая форма вообще? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 18:49 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
jack_vosmerkin> страно что еще некто не кричал *нельзя так делать* и *ты что с урала?* Уже пофыркали на первой странице. Да и автор в стартовом посте указал, что наследие, что понимает и что будет переделывать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 18:55 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам А ты профайлером посмотрел, что конкретно больше всего тормозит при создании? Гаджимурадов Рустам И насколько тяжелая форма вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 19:00 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Для 200шт это как раз тяжелая. Посмотри, может какие-то вкладки можно создавать не сразу, а по "активации", или чарт хотя бы. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 19:33 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам А ты профайлером посмотрел, что конкретно больше всего тормозит при создании? Профилировались все методы классов TReader, TComponent, TControl, TWinControl, TCustomForm. Сортировка по общему времени Исходник ReadStr Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2020, 20:59 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Напоминаю, только топор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2020, 00:39 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, А современные делфи ещё позволяют бинарные .dfm использовать или нет уже? Или оно на рантайм не влияет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2020, 11:13 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
alekcvp, судя по профилю, это как раз бинарный dfm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2020, 11:52 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
alekcvp, позволяет. вижу иногда старые формы в бинарном виде, вполне работают. другое дело что врятли это сильно поможет в данном случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2020, 12:03 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
softwarer alekcvp, судя по профилю, это как раз бинарный dfm. Если бинарный, почему тогда ReadStr() на первом месте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2020, 13:11 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
alekcvp Если бинарный, почему тогда ReadStr() на первом месте? Потому что недостаточно судить по названию. Стоит ещё заглянуть, что внутри этого ReadStr написано, тем более что топикстартер любезно опубликовал код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2020, 13:48 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_> Вот, собственно данные профайлера. Там сортировка кривая, но вообще овердофига, конечно. Надо проверять все варианты без десериализации, однозначно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2020, 13:57 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, да, становится привлекательной идея сгенерировать соответствующий dfm код. Быстро делается и должно убрать основные траты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2020, 14:11 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
авторВ проекте создается 200 инстансов одной формы Штук 5 тулбаров, PageControl с тремя вкладками, два фрейма с чартом и тулбарами, стандартный TTreeView Как же хочется хоть краешком глаза посмотреть на эти 200 форм..... Может пора оживить этот топик ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2020, 02:25 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_> Вот Чем закончились изыскания? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2020, 15:24 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Чем закончились изыскания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2020, 15:54 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Покажи интерфейс с формами, очень интересно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2020, 15:58 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Да что там показывать, 200 одинаковых форм... Наверняка форма-карточка, вопрос только для чего - это какие-то мониторы активности или текущие таски итп. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2020, 16:09 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, в трейдинговых терминалах например порой много стаканов у людей открыто бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2020, 17:24 |
|
||
|
Быстрое создание форм
|
|||
|---|---|---|---|
|
#18+
Ну это и есть один из примеров мониторов активности. С той лишь разницей, что в трейдинговых терминалах может быть несколько "окон" на один "объект" - по 4, например, тогда 4 по 50 (экаунтов, например) - как раз 200 форм и наберётся (но, наверное, это что-то другое). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2020, 18:21 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038564]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
124ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 462ms |

| 0 / 0 |
