|
|
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 09:34:17 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 10:44:14 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, как понял, что не срабатывает? На форме тоже есть подключение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 11:52:03 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanGallemar, как понял, что не срабатывает? В mon$attachments коннекты висят, пока форму не закрою. wadman На форме тоже есть подключение? в том то и дело, что нету. Давай кину проектом, так проще будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 11:58:58 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, х.з. может, мониторинг где-то в fibplus включен, и это конфликтует с открытием и закрытием коннекта в треде. "В старину" даже коннект в треде глючил, поэтому коннект-дисконнект делался в основном потоке. Но это все мои домыслы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 12:31:45 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemarwadman На форме тоже есть подключение? в том то и дело, что нету. Давай кину проектом, так проще будет. Я у компа сегодня вряд-ли буду. Выкладывай, кто-то еще посмотрит. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 13:20:48 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 13:35:54 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
kdvGallemar, х.з. может, мониторинг где-то в fibplus включен, и это конфликтует с открытием и закрытием коннекта в треде. Вряд ли, я всё прописывал в run-time, не помню ничего такого в fibplus, что могло по умолчанию быть. kdv"В старину" даже коннект в треде глючил, поэтому коннект-дисконнект делался в основном потоке. На фибах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 13:38:28 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, Попробуй фибам делать FreeAndNil вместо free ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 18:29:57 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Док, С точки зрения фибов это не изменит ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 19:53:46 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, А если вот так: Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 19:55:20 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
alekcvp, И ещё Код: pascal 1. сразу после коммита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 19:56:18 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
alekcvpС точки зрения фибов это не изменит ничего. ага, а два контрольных выстрела Код: pascal 1. 2. уж точно изменит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 21:15:38 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
ДокalekcvpС точки зрения фибов это не изменит ничего. ага, а два контрольных выстрела уж точно изменит Заметь, я просто поменял местами строчки оригинального кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 21:36:14 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
alekcvpGallemar, А если вот так: Код: pascal 1. 2. 3. 4. 5. 6. 7. alekcvpЗаметь, я просто поменял местами строчки оригинального кода 5 строк кода после коммита можно переставить 120 способами. Не все из них корректные, но все же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 22:51:10 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
schi5 строк кода после коммита можно переставить 120 способами. Не все из них корректные, но все же... В оригинале там транзакция уничтожается раньше, чем закрывается запрос, её использующий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 22:56:56 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
alekcvpschi5 строк кода после коммита можно переставить 120 способами. Не все из них корректные, но все же... В оригинале там транзакция уничтожается раньше, чем закрывается запрос, её использующий. В оригинале там трэш, угар и содомия. От людей, вкладывающих exeшники и dcu в архивы проекта, я не жду ничего хорошего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2017, 23:05:45 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
ДокGallemar, Попробуй фибам делать FreeAndNil вместо free Привет. Это я пробовал ещё до обращения на форум,не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 03:58:36 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
alekcvpДокпропущено... ага, а два контрольных выстрела уж точно изменит Заметь, я просто поменял местами строчки оригинального кода Не помогло. Решил пока в качестве эксперимента переписать всё на ibx. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 03:59:17 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
ыыы. интересный выстрел) Если вас это утешит, то на FIB все закрывается корректно у меня вплоть до версии Berlin. Единственная найденная проблема тянется еще из дремучих времен и относится к FibAlerter Поэтому пришлось отказаться от событий. Но в целом нужно просто найти проблему и решить. А "переписать на ibx" это выглядит как-то чрезмерно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 08:52:52 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, у тебя в потоке запускаются процессы, с которыми нет обратной связи до определенного момента. Я вижу два варианта решения проблемы: 1. можно завести какой-нибудь булев флаг и перед запуском очередного процесса в потоке проверять, нет ли команды прикончить поток(флаг взводить в OnCloseQuery формы), типа Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 2. завести булев флаг, но сигнализирующий о продолжении или окончании потока, и и не давать закрываться форме (так же , в OnCloseQuery), пока поток не помрет естественной смерьтю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 09:02:57 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
krapotkinПоэтому пришлось отказаться от событий. Но в целом нужно просто найти проблему и решить. Пока, увы, не получается. krapotkinА "переписать на ibx" это выглядит как-то чрезмерно ) Почему? Программа простая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 09:03:23 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
ДокЯ вижу два варианта решения проблемы кстати, эти два варианта можно объединить в третий: взвести флаг потоку, что ему нужно помереть при первой возможности, но форме не давать закрыться до смерти потока. зы. это при условии, что у тебя проблема НЕ из-за неправильной логики в коде :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 09:06:07 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Док,хм, Эдик, а у меня в потоке формы не открываются, никакие. Есть одна, на которой кнопка для ручного запуска и кнопка для запуска таймера. Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 09:08:28 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Все таки не "пока не закрыта форма", а "пока не закрыто приложение". И нет строки db4.free. В общем, ищи соединение, которое остается открытым в потоке. Ну и лапшу-бы прибрать: вынести создание базы, транзакции и запроса и их уничтожение в отдельные процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 09:09:18 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanВсе таки не "пока не закрыта форма", а "пока не закрыто приложение". Да, извините за неточность wadmanИ нет строки db4.free. В общем, ищи соединение, которое остается открытым в потоке. Уже есть, ещё вчера поправил. Пока тестировал понял, что все соединения остаются открытыми,исключений нет. wadmanНу и лапшу-бы прибрать: вынести создание базы, транзакции и запроса и их уничтожение в отдельные процедуры. Сделаю, извините, учусь программировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 09:14:23 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, возьми мой пакет https://github.com/wadman/wthread/ в нем есть модуль wlog: для многопоточного логирования. И на каждый чих пиши в лог, так будет понятно, что на самом деле происходит в других потоках. Запустился поток - в лог, создал базу - в лог, дернул запрос - в лог, закрыл соединение - в лог, закончилось выполнение потока - в лог и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 09:19:37 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Что-то мне подсказывает, что эта строка должна быть вне цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 09:23:52 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanЧто-то мне подсказывает, что эта строка должна быть вне цикла. Что-то мне подсказывает, что это в соседнюю тему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 09:46:22 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanИ на каждый чих пиши в лог, так будет понятно, что на самом деле происходит в других потоках. Запустился поток - в лог, создал базу - в лог, дернул запрос - в лог, закрыл соединение - в лог, закончилось выполнение потока - в лог и т.д. Пока сделал только на запуск потока. Из примера simpledemo взял процедуры, только в TForm1.AddLog вывод сделал в memo, запустил, в memo2 три строки вывелось: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 10:50:05 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#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. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 10:53:08 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanзакончилось выполнение потока - в лог и т.д. ... не понял, в чем дело - в сад Gallemarа у меня в потоке формы не открываются, никакие. я говорил про главную форму :) Вот смотри (извини, схематично, потому что на коленке без D7) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 10:54:11 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
и совсем не нужно из потока к форме обращаться, и свойство Terminated у потока есть своё и TForm1 - это класс, а не объект модуль потока лучше вообще не uses модуль формы Код: 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. Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 11:37:54 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar Код: pascal 1. 2. 3. Используешь мою компоненту (добавил TTask и выполняешь работу в его событии Execute)? Если нет, то это тебе не нужно. Для логирования нужно было использовать эти функции: Код: pascal 1. 2. 3. 4. Они пишут лог в файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 11:39:44 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
переписал на IBX :) аналогично - коннекты держатся до закрытия приложения. for Док - я осмыслю твой совет буду пробовать. for wadman - можешь подсказать как дальше сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 11:46:16 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
krapotkinсвойство Terminated у потока есть своё формально, да. Но лучше натянуть презерватив на огурец, а то случаи разные бывают :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 11:52:47 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
krapotkin Код: pascal 1. 2. 3. 4. 5. у него цикл одноразовый, поэтому твой совет в контексте его кода не имеет смысл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 11:53:59 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemarможешь подсказать как дальше сделать? Два варианта: 1. Допиливаешь свой вариант, но с применением моего логирования. 2. Переходишь на мой компонент. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 12:04:47 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanДва варианта Вот так и вербуют неопытных Игорь, выбирай первый. Я тебе давно советовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 12:06:53 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Док Игорь, выбирай первый. Я тебе давно советовал Что именно советовал? Логировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 12:36:12 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#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. 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. 75. 76. 77. Открытие, закрытие соединения вынесено отдельно, для проверки версии kdv: 20685657 Если не поможет, то всегда может перенести обратно в поток. Не стоит на каждый чих создавать новое соединение, одного вполне хватит на один поток. Ну и плюсом соединение и выполнение запросов оберни try except и ошибки тоже пиши в лог. Может твои потоки валятся и потому соединение остается жить. PostToLog создаст файл с расширением .log и будет в него писать логи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 13:08:46 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
GallemarЛогировать? да. Не понятна логика ошибок, трудно/невозможно дебажить - логируй. И да, wadman прав: убери fini.free из цикла в секцию finally (перед уничтожением стринглиста) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 15:32:14 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Доктрудно/невозможно дебажить - логируй. ДокGallemarЛогировать? да. Не понятна логика ошибок, трудно/невозможно дебажить - логируй. И да, wadman прав: убери fini.free из цикла в секцию finally (перед уничтожением стринглиста) Логирование исключений покажет очевидное: из-за исключения код не доходит до db3.connected:=False; Кстати, на db3.Close Сннова упадет (скорее всего), т.к. обычно это то же самое, только без проверки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 17:09:33 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Короче, после создания объекта базы сделай try и в finally сделай Free - он автоматом вызовет и дисконнект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 17:12:58 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Он=деструктор. Во всяком случае, в IBX так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 17:17:43 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, замени, пожалуйста, строчку Код: pascal 1. на Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 17:45:36 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
чччДGallemar, замени, пожалуйста, строчку Код: pascal 1. на Код: pascal 1. Неа. Специально так сделал,чтобы ты возмущался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 18:14:52 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, ну раз локальный коннект у тебя - то попробуй вызывать в конце fb_shutdown(). На 2.5 мне помогало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 18:26:09 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
чччДGallemar, ну раз локальный коннект у тебя Не локальный. Это копия для тестов,в продуктиве коннект удаленный. Но совет учту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 18:58:40 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, проблему-то решил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 19:48:00 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
кстати, попробуй вместо Код: pascal 1. сделать Код: pascal 1. Понятно, что танец с бубном, но все же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 20:00:53 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemarпотом эксепшен Format '%s' invalid or incompatible with argument и всё. Что могло не форматироваться в строку?GallemarНу и сам код: Код: pascal 1. 2. 3. И что бы там могло не форматироваться в строку, действительно?.. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 22:38:04 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
чччДGallemar, ну раз локальный коннект у тебя - то попробуй вызывать в конце fb_shutdown(). На 2.5 мне помогало. А как это сделать правильно? Получаю AV, у тебя как понимаю такая же проблема была, как решил? http://www.sql.ru/forum/1140365/kak-akkurutno-vyzvat-fb-shutdown ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 04:21:08 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
YuRockОн=деструктор. Во всяком случае, в IBX так. пробовал,не помогает, ни try ... expert c проверкой исключений на ib3.connected:=False; ib3.Close; ib3.Free;, ни free после finally. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 04:33:55 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadman,переписал, но пока работу с БД оставил как оно было у меня. Вот проект https://yadi.sk/d/lVonvmME3Lbfxb, проблема в том, что теперь вообще коннект к базе не проходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 06:02:50 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadman,переписал своё в таком виде: Код: 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. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. В логах: 01.08.2017 11:44:09.844 : Create connection 01.08.2017 11:44:10.339 : Create connection 01.08.2017 11:44:10.420 : Create connection 01.08.2017 11:44:10.500 : Create connection 01.08.2017 11:44:10.583 : Create connection 01.08.2017 11:44:10.668 : Create connection 01.08.2017 11:44:10.750 : Create connection 01.08.2017 11:44:10.852 : Create connection 01.08.2017 11:45:41.657 : Create connection 01.08.2017 11:45:42.121 : Create connection 01.08.2017 11:45:42.281 : Create connection 01.08.2017 11:45:42.474 : Create connection как будто поток вообще не запускается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 06:49:36 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemarкак будто поток вообще не запускается Флаг CreateSuspended означает, что поток создаётся приостановленным. Чтобы поток запустился, нужно вызвать у него Resume. Такое поведение нужно, чтобы проинициализировать поток после его создания. У вас же инициализация потока происходит в конструкторе. Поэтому можно в конструктор передавать флаг (CreateSuspended = false). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 08:13:02 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
goldmi45, понял,спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 08:17:11 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
теперь лог в таком виде: 01.08.2017 13:14:26.929 : Create connection 01.08.2017 13:14:27.167 : 648 Start execute 01.08.2017 13:16:38.978 : Create connection 01.08.2017 13:16:39.377 : 876 Start execute 01.08.2017 13:16:39.392 : Create connection 01.08.2017 13:16:39.461 : 1140 Start execute 01.08.2017 13:16:39.475 : Create connection 01.08.2017 13:16:39.548 : 1056 Start execute 01.08.2017 13:16:39.564 : Create connection 01.08.2017 13:16:39.634 : 1084 Start execute 01.08.2017 13:16:39.649 : Create connection 01.08.2017 13:16:39.717 : 1132 Start execute 01.08.2017 13:16:39.923 : Create connection 01.08.2017 13:16:39.995 : 1144 Start execute 01.08.2017 13:16:40.036 : Create connection 01.08.2017 13:16:40.104 : 1204 Start execute 01.08.2017 13:16:40.179 : Create connection 01.08.2017 13:16:40.247 : 1240 Start execute 01.08.2017 13:16:40.291 : Create connection 01.08.2017 13:16:40.361 : 1276 Start execute ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 08:20:39 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Док[ Gallemarа у меня в потоке формы не открываются, никакие. я говорил про главную форму :) Вот смотри (извини, схематично, потому что на коленке без D7) Попробовал, не взлетело. https://yadi.sk/d/CtNoFhK23LbkvQ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 08:30:13 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadman, хм пробовал try except для connected:=false и close - ничего не получил, а так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. получаю: procedure TFIBDatabase.SetConnected(Value: Boolean); begin if csReading in ComponentState then FStreamedConnected := Value else if Value then begin Open end else Close; end; сейчас попробую фибовские ошибки поймать детальнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 08:41:41 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, Сделайте так: Код: 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. Следите за тем, что если у вас объект уничтожается (freeandnil), то при последующем обращении к нему гарантированно получаете AV. Т.е. соединение может и уничтожилось (если до этого не вылетели из процедуры Execute), но потом должны выполниться эти строчки: freeandnil(db3); CloseConnection; а в CloseConnection у вас идёт обращение к уже несуществующему объекту db3 и происходит Access violation. Так что до записи в лог даже не доходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 08:47:26 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemarсейчас попробую фибовские ошибки поймать детальнее Вынеси весь код из потока в отдельные процедуры: процедуру коннекта, процедуру дисконнекта, процедуру дергания запроса и основной цикл работы с файлами. И проверь их работу в основном потоке, а уж когда отладишь - выноси в отдельный поток. Не забывай про try except в операциях коннекта, дисконнекта, дергания запроса и работы с файлами. В случае ошибок поток может тихо умирать и потому твои коннекты (99%) остаются висеть до закрытия приложения (до выгрузки dll). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 09:22:13 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
goldmi45, поправил Код: 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. теперь в логе: 01.08.2017 14:18:57.769 : Create connection 01.08.2017 14:18:57.838 : 848 Start execute 01.08.2017 14:18:57.840 : 848 End execute 01.08.2017 14:18:57.845 : Close connection 01.08.2017 14:18:57.896 : Create connection 01.08.2017 14:18:57.964 : 1036 Start execute 01.08.2017 14:18:57.967 : 1036 End execute 01.08.2017 14:18:57.971 : Close connection 01.08.2017 14:18:58.032 : Create connection 01.08.2017 14:18:58.096 : 1064 Start execute 01.08.2017 14:18:58.099 : 1064 End execute 01.08.2017 14:18:58.103 : Close connection 01.08.2017 14:18:58.175 : Create connection 01.08.2017 14:18:58.249 : 1088 Start execute 01.08.2017 14:18:58.254 : 1088 End execute 01.08.2017 14:18:58.260 : Close connection коннекты больше не висят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 09:23:18 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#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. 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. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. Никаких утечек и умирания потоков, плюс логирование на всякие случаи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 09:25:06 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanЭто вырезанный из моего проекта работающий код из многопоточного сервиса: Никаких утечек и умирания потоков, плюс логирование на всякие случаи. Это надо всё продумать и обкатать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 09:49:17 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 09:49:37 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Получается, у меня не хватало деструктора,чтобы прибить отработавший поток? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 09:59:12 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, в качестве напутствияИгорь, у тебя бардак в коде. На его разбор у помогающих уходит много сил и времени. Возьми за правило (прости за тавтологию) соблюдать правила оформления и написания кода. Обрамляй потенциально "ошибочные" места блоками try..except, а места возможных утечек памяти блоком try..finally. Тогда ошибки будут очевидны даже при беглом взгляде, и ты не будешь иметь и половины тех проблем, которые описываешь здесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 10:12:02 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
GallemarЭто надо всё продумать и обкатать.замени свои 20689951 на эти: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 10:30:33 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
GallemarYuRockОн=деструктор. Во всяком случае, в IBX так. пробовал,не помогает, ни try ... expert c проверкой исключений на ib3.connected:=False; ib3.Close; ib3.Free;, ни free после finally. Потому, что туда "не доходит". Деструктор надо в finally вызывать, а не после except. P.S. Слабо понятен смысл этого потока, если даже соединение с базой, такая тяжелая операция, происходит в конструкторе (не в потоке). Зачем, не понятно. Я бы делал так примерно: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. И я уверен, что если в логе будет disconnected - соединения не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 18:43:09 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
YuRock, имхо, обработка ошибок должна быть внутри, а не снаружи try..finally ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 22:51:58 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
ДокYuRock, имхо, обработка ошибок должна быть внутри, а не снаружи try..finally А в чем разница в приведенном случае ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 22:57:11 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
schiДокYuRock, имхо, обработка ошибок должна быть внутри, а не снаружи try..finally А в чем разница в приведенном случае ?А разница есть. Если finally будет снаружи и в этом блоке произойдет исключение (что вполне вероятно), то оно окажется необработанным со всеми вытекающими. Что гораздо хуже хотя бы потому, что в лог оно не попадет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 23:58:43 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
YuRockschiпропущено... А в чем разница в приведенном случае ?А разница есть. Если finally будет снаружи и в этом блоке произойдет исключение (что вполне вероятно), то оно окажется необработанным со всеми вытекающими. Что гораздо хуже хотя бы потому, что в лог оно не попадет. Видишь ли, в чем дело - при записи в лог с ненулевой вероятностью тоже может возникнуть исключение, остающееся необработанным с теми же вытекающими. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 11:28:55 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
schiYuRockпропущено... А разница есть. Если finally будет снаружи и в этом блоке произойдет исключение (что вполне вероятно), то оно окажется необработанным со всеми вытекающими. Что гораздо хуже хотя бы потому, что в лог оно не попадет. Видишь ли, в чем дело - при записи в лог с ненулевой вероятностью тоже может возникнуть исключение, остающееся необработанным с теми же вытекающими. Не в моем случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 11:45:48 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
schiВидишь ли, в чем дело - при записи в лог с ненулевой вероятностью тоже может возникнуть исключение, остающееся необработанным с теми же вытекающими. Это понятно. Но на что-то надо полагаться, что оно точно работает. Например, хотя бы на то, что винт не посыпался, что память не битая, что функция логирования не вызывает исключений. Это раз, а два - в этом случае упасть может только при записи в лог, а если наоборот - то и при записи в лог, и потом еще в finally. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 12:44:58 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanНе в моем случае. Думаю, в случае функции логирования допустима даже такая конструкция Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 12:48:55 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
YuRockwadmanНе в моем случае. Думаю, в случае функции логирования допустима даже такая конструкция Код: pascal 1. 2. 3. 4. 5. 6. Собственно так и делается: https://github.com/wadman/wthread/blob/master/wlog.pas ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 12:50:44 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanСобственно так и делается: https://github.com/wadman/wthread/blob/master/wlog.pas Оффтоп: 1. А чё ты не даёшь пустую строку в лог добавить? Имхо лишняя проверка. К тому же не запишется в лог, например, значение строковой переменной, если она пустая строка, это может быть важно. 2. Формат даты в логах я у себя уже много лет назад переделал с dd.mm.yyyy на yy.dd.mm - экономия 2 байтов в каждой строке это не мало, когда логи занимают десятки/сотни гигабайт, это ~5-10% от этого размера. 3. Использование системной очереди сообщений, как видно, используется. Я бы для такого свою очередь сделал. Но это дело вкуса. 4. Ну и самое страшное (так да немного не так) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 13:08:46 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
YuRockс dd.mm.yyyy на yy.dd.mm на yy.mm.dd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 13:09:45 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
YuRockЯ бы для такого свою очередь сделал. Включается автоматом на никсах, а в винде по условию компиляции (там inc есть). Остальное - мелочи. Особенно про пустую переменную - на кой она нужна, если её не идентифицировать названием? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 13:25:20 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanОстальное - мелочи. Ну как сказать. finally вместо except это описка, да, но отнюдь не мелочь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 13:36:12 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanна кой она нужна, если её не идентифицировать названием? Накой эту проверку делать? Если её идентифицировать названием - то эта проверка и так будет бесполезна - всегда будет True. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 13:38:37 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
YuRockwadmanОстальное - мелочи. Ну как сказать. finally вместо except это описка, да, но отнюдь не мелочь) В чем разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 14:14:41 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanВ чем разница? В чем разница между finally и except относительно wlog.pas? Файл может остаться висеть открытым вечно, например, в случае исключения при записи. Память не будет освобождаться, например, в TLogThread.WMLog при любом исключении. Да ну блин, ты что, травишь? Это логическая ошибка, подправь и закоммить, люди ж пытаются пользоваться вроде. Впрочем, дело твоё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 14:25:07 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
В чем разница между Код: pascal 1. 2. 3. 4. 5. 6. и Код: pascal 1. 2. 3. 4. 5. 6. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 14:27:47 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanВ чем разница между Код: pascal 1. 2. 3. 4. 5. 6. и Код: pascal 1. 2. 3. 4. 5. 6. ? Разница в том, что вторая конструкция не имеет смысла. Если при записи возникнет исключение, оно будет передано наверх, в отличие от первого случая, когда оно будет заглушено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 15:08:16 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadman Код: pascal 1. 2. 3. 4. 5. 6. это эквивалентно Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 15:12:33 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanСобственно так и делается: https://github.com/wadman/wthread/blob/master/wlog.pas Тоже оффтоп: Код: pascal 1. 2. 3. Ограниченным учёткам логов не нужно? :) IMHO на винде имеет смысл писать в %AppData%\%AppName%[\Logs]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 16:32:17 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
И ещё: Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 16:38:49 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
alekcvpОграниченным учёткам логов не нужно? :) Разработчику это не нужно, т.к. проект запускается из папки, куда запись разрешена. Но если что, это переменная, заполняемая умолчательным значением и её можно менять. От флеша я по каким-то причинам отказался в свое время в результате экспериментов. schiЕсли при записи возникнет исключение, оно будет передано наверх, в отличие от первого случая, когда оно будет заглушено. Ок, понял. Меня именно такое поведение и устраивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 16:48:40 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanМеня именно такое поведение и устраивает. Когда память не освобождается и/или файл открытый остается висеть? А так же прекращение работы потока логирования на первом же исключении при попытке записи (например, файл монопольно занят копированием)? Ну, ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 17:18:13 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Gallemar, Промолчу про качество кода... То, что соединение остаётся открытым - нормально. Более того, так задумано - это называется Connection Pooling. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 14:19:11 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Valery_BБолее того, так задумано - это называется Connection Pooling. кем задумано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 14:26:14 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 16:38:45 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
Valery_B http://www.google.ru/search?ie=UTF-8&hl=ru&q=connection pooling Я знаю, что это такое. Откуда вообще взялась мысль, что ТС это задумывал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 16:50:13 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanВ чем разница между Код: pascal 1. 2. 3. 4. 5. 6. и Код: pascal 1. 2. 3. 4. 5. 6. ?"Ну вы, блин, даете!!!" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 20:39:44 |
|
||
|
Не срабатывает отключение от базы пока не закрыта форма.
|
|||
|---|---|---|---|
|
#18+
wadmanЯ знаю, что это такое. Откуда вообще взялась мысль, что ТС это задумывал? не задумывал. Вообще код переписан,работает в продуктиве. Хочется кому-нибудь приватно показать, на предмет улучшений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2017, 03:49:33 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2041964]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
111ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 543ms |

| 0 / 0 |
