|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
чччДwadmanпропущено... gpi всё объяснил. Так и есть, под отладчиком эта (и любые другие) гадость вылазит, а без него ошибки складываются в Код: pascal 1. 2. 3. 4.
Ну, дык 19136748 . Дак из под дельфи и запускал. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 10:35 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadmanчччДа fr4 у тебя какой (минорной) версии? 4.14. У меня версия сильно патченная, потому с некоторых пор перестал обновлять. Дорого выходит. У меня - 4.11. Как-то раньше бездумно обновлял по мере выхода, пока ребята их FR то ли какие-то паблишед проперти убрали, то ли переименовали их. У клиентов сразу шаблоны отчетов грузиться перестали. Скандал и гемор. Я и оставил все на последней рабочей версии. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 10:38 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadmanчччДпропущено... Ну, дык 19136748 . Дак из под дельфи и запускал. :) Хм. А я даже не знаю, как из-под Delphi запустить без отладчика. Вообще, какой смысл в таком запуске? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 10:40 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
чччДя даже не знаю, как из-под Delphi запустить без отладчика. Шутишь? Run с жучком - дебаг, без жучка - просто run. чччДВообще, какой смысл в таком запуске? Полюбоваться красотой, радость от созерцания которой разделят с тобой пользователи. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 10:42 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadmanчччДя даже не знаю, как из-под Delphi запустить без отладчика. Шутишь? Run с жучком - дебаг, без жучка - просто run. чччДВообще, какой смысл в таком запуске? Полюбоваться красотой, радость от созерцания которой разделят с тобой пользователи. Чтобы "заглушенные" в блоках except-end эксцепшны не раздражали? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 10:48 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
чччДЧтобы "заглушенные" в блоках except-end эксцепшны не раздражали? Как минимум. Потому что глушу обычно разумно и нужна реакция не отличная от реальной. А реальность (моя) такова, что вылетевший эксепшн, такая зараза, занимает время, которое очень критично. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 10:53 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadmanТак и есть, под отладчиком эта (и любые другие) гадость вылазит, а без него ошибки складываются в Код: pascal 1. 2. 3. 4.
так и есть, та самая ублюдочность обработки исключений ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 10:53 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadmanчччДЧтобы "заглушенные" в блоках except-end эксцепшны не раздражали? Как минимум. Потому что глушу обычно разумно и нужна реакция не отличная от реальной. А реальность (моя) такова, что вылетевший эксепшн, такая зараза, занимает время, которое очень критично. Понятно. Я отлаживал протокол связи - тоже не до отладчика было. Пока пройдешься отладчиком, корреспондент принимает решение об обрыве связи по таймауту. Потом настройки специальные сделал, "замедлив время". Ну или логирование использовал. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 11:00 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
Barmaley57Было дело - обещали в 5-ке аналог DBGrid'а. Чтобы можно было просто кинуть на бэнд готовую таблицу из подготовленного датасета и по-быстрому её подправить. Уж очень уныло раскидывать руками колонки. Сделали? Немного не то, но в дереве данных можно выделять нужные объекты и перетаскивать их(группой). Подходит для стандартных отчетов и упрощает создание полей и связь их с данными. В будущем планируется разный вид расположения при создании таких полей(список, сетка). vavanFast Reports, Inc.if you are already was our customer and got this mail with new login please write us and we will merge your accounts: http://support.fast-report.com/tickets/new?subject=merge_my_two_accounts есть смысл сливать аккаунты? Для .NET версии да, т.к. подписка может быть куплена на другой аккаунт через партнеров. И, конечно, вам будет просто удобно иметь все продукты в одной записи. wadmanКстати, прекрасный код! Код: pascal 1. 2. 3. 4. 5.
Нужно будет как-нибудь рассказать им про TActionList.OnUpdate... Посмотрите откуда вызывается DoActionIdle в Delphi 7 и реализацию TfrxClipboard.GetPasteAvailable. после этого , код уже не должен казаться таким смешным ;) Исключение дублирования имени можно добавить в список исключения отладчика, больше оно беспокоить под отладкой не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 18:55 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
FastReportsДля .NET версии дав моем случае речь о vcl, спасибо за отклик на этот вопрос, хотелось бы и на другой ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 08:59 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
FastReportsПосмотрите откуда вызывается DoActionIdle в Delphi 7 и реализацию TfrxClipboard.GetPasteAvailable. после этого , код уже не должен казаться таким смешным ;) Вызывается из Idle, как и в XE2-3. Аргумент-то в чем, если не секрет? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 09:19 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
vavanFastReportsДля .NET версии дав моем случае речь о vcl, спасибо за отклик на этот вопрос, хотелось бы и на другой По поводу обработки исключений ? А что именно не нравится кроме duplicate name исключения ? wadmanFastReportsПосмотрите откуда вызывается DoActionIdle в Delphi 7 и реализацию TfrxClipboard.GetPasteAvailable. после этого , код уже не должен казаться таким смешным ;) Вызывается из Idle, как и в XE2-3. Аргумент-то в чем, если не секрет? Вызов GetPasteAvailable постоянно в цикле простоя, что может нагружать процессор(на 4х ядерном процессоре это конечно будет не заметно, но не везде такие, даже в наше время). С какой-то версии(точно не помню с какой), они ввели св-во ActionUpdateDelay. Которое позволяет установить интервал вызова DoActionIdle. А так, опрос буфер обмена и поиск по нему будет идти постоянно, что явно лишнее. У нас он вызывается раз в секунду. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 10:21 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
FastReportsПо поводу обработки исключений ?именно FastReportsчто именно не нравитсяк сожалению среди ныне видимых тикетов я не вижу старых обращений. у вас сохранены все старые? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 10:38 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
FastReportsВызов GetPasteAvailable постоянно в цикле простоя, что может нагружать процессор(на 4х ядерном процессоре это конечно будет не заметно, но не везде такие, даже в наше время). С какой-то версии(точно не помню с какой), они ввели св-во ActionUpdateDelay. Которое позволяет установить интервал вызова DoActionIdle. :) Предлагаю нагрузить этот пример. Код: 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 10:44 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
FastReportsВызов GetPasteAvailable Я к тому, что handled там не зря имеется и не зря он в дефолте false. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 10:45 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadmanFastReportsВызов GetPasteAvailable Я к тому, что handled там не зря имеется и не зря он в дефолте false. Это я упомянул не просто так "на 4х ядерном процессоре это конечно будет не заметно, но не везде такие, даже в наше время" handled там совсем для другого, он не передает вызов события дальше другим элементам ActionList. Что и описано в документации. Событие все так же будет вызываться в цикле простоя - бесконечно. Легко могу нагрузить, достаточно скопировать в буфер обмена несколько мегабайт текста (сереализованные объекты передаются как раз в виде текста и картинки тоже ...). Вот результат на двух-ядерном ноутбуке. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 12:09 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadmanFastReportsВызов GetPasteAvailable Я к тому, что handled там не зря имеется и не зря он в дефолте false. Это я упомянул не просто так "на 4х ядерном процессоре это конечно будет не заметно, но не везде такие, даже в наше время" handled там совсем для другого, он не передает вызов события дальше другим элементам ActionList. Что и описано в документации. Событие все так же будет вызываться в цикле простоя - бесконечно. Легко могу нагрузить, достаточно скопировать в буфер обмена несколько мегабайт текста (сереализованные объекты передаются как раз в виде текста и картинки тоже ...). Вот результат на двух-ядерном ноутбуке. Скрин1 лог профайлера, при буфере в бару байт на i7. Код чуть модифицирован, чтобы было понятно. Код: 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74.
За 15 секунд работы приложения , было 1440 обращений к буферу в OnUpdate против 15 по таймеру. А теперь возьмите буфер в несколько МБ и слабый CPU. Скрин2 Т.ч. я все так же не вижу ничего смешного в этом коде, в дизайнере. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 12:19 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
vavan, При переносе из старой базы не все могло перенестись корректно. Если напомните ключевое слово или имя в системе, могу поискать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 12:21 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
FastReports, номер именно того тикета я не припомню но вот ссыла на один из немногих других того же аккаунта (директорского) если сможете достать все с того же акка то без проблем найдете нужный ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 12:26 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
FastReportsТ.ч. я все так же не вижу ничего смешного в этом коде, в дизайнере. Он еще смешнее, чем я думал... Действительно на десятке мегабайт начинается полная лажа. Дарю идею: Код: 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 12:27 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadman, Отличная идея , останется только портировать ее на OSX и Linux Да и сам факт вызова OnUpdate более 1000 раз за 10 секунд вас не смущает ? Ведь никто не знает что в будущем еще нужно будет обновлять и какой код туда вставить. Далеко не все, реализации по-умолчанию, что есть в VCL стоит воспринимать как табу в разработке под него. А если учесть что в каждой версии есть свое... Хорошо писать конечное приложение под конкретной версией среды, не нужно беспокоится о всем "зоопарке" старых и новых версий. Как я писал выше ActionUpdateDelay было добавлено не просто так , в сам фремворк, уж слишком часто оно вызывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 13:29 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
FastReportsОтличная идея , останется только портировать ее на OSX и Linux Лень портировать или там программисты не предусмотрели функционала определения типа информации в буфере? Остается только открывать его, лочить и полностью вытягивать информацию? FastReportsДа и сам факт вызова OnUpdate более 1000 раз за 10 секунд вас не смущает ? Нет. Да и это при активном пользовании приложением. Еще идея: WM_CLIPBOARDUPDATE , тут таймер совсем не нужен и дергаться будет по необходимости. Может позовете программиста? Накидаю еще косячков. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 13:51 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadmanЛень портировать или там программисты не предусмотрели функционала определения типа информации в буфере? Остается только открывать его, лочить и полностью вытягивать информацию? Плодить IFDEF , там , где они не нужны. У нас и так этого добра хватает. wadmanНет. Тогда, вопросов больше не имею ! Если вас не смущают такие цифры. Никогда нельзя быть уверенным , кто после вас придет, и какой код туда добавит(или даже тот же разработчик, через N-лет). А потом сиди и думай, почему твое приложение в простое отжирает CPU. Напомнило мне Application.ProcessMessages которое в FMX под OSX давало неслабую задержку, и вместо синхронизации интерфейсов с основным потоком, получаем тормоза. Оказалось там стоит принудительная задержка (если память не изменяет начиная XE5 и по сей день). Это я к чему? а к тому, что использование некоторых "стандартных" вещей из фремворка, может оказаться палкой в колесах через время. wadmanДа и это при активном пользовании приложением. Как раз таки наоборот, вызывается, когда цикл сообщений простаивает. Как вы там написали, "Может позовете программиста? " ;) И это не говорит, что приложение ничего в этот момент не делает, просто не получает сообщений(а это может довать доп нагрузку, когда интерфейс простаивает , а потоки работают). Зачем сознательно такое делать ? wadmanЕще идея: WM_CLIPBOARDUPDATE , тут таймер совсем не нужен и дергаться будет по необходимости. Идея тоже неплохая, но снова, платформо-зависимая. wadmanМожет позовете программиста? Накидаю еще косячков. :) Не стесняйтесь, кидайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 14:43 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
FastReportsПлодить IFDEF , там , где они не нужны. У нас и так этого добра хватает. Еще парочка на что повлияет, кроме исключения выполнения лишнего кода? FastReportsНапомнило мне Application.ProcessMessages которое в FMX под OSX давало неслабую задержку Давно пора перенести формирование отчета в другой поток или в несколько. FastReportsКак раз таки наоборот, вызывается, когда цикл сообщений простаивает. За почти 5 минут простоя приложения счетчик вызовов actionupdate зашкалил аж до 229. FastReportsИдея тоже неплохая, но снова, платформо-зависимая. Ну да, это по нашему, залезть на другие платформы, чтобы потом сокрушаться об этом. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 16:29 |
|
Релиз FastReport 5.5 для Lazarus и RAD Studio (Delphi, C++Builder)
|
|||
---|---|---|---|
#18+
wadmanНу да, это по нашему, залезть на другие платформы, чтобы потом сокрушаться об этом. :) Последствия несистемного подхода к мультиплатформенности. При выделении platform services таких проблем не возникает ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2016, 16:54 |
|
|
start [/forum/topic.php?fid=58&msg=39229675&tid=2044057]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 242ms |
total: | 376ms |
0 / 0 |