|
|
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Будет ли удален ibq.Transaction := TIBTransaction или его надо отдельно удалять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 11:29 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
antox Будет ли удален ibq.Transaction := TIBTransaction или его надо отдельно удалять? Будет при освобождении IBDatabase1. Мне кажется, лучше при создании в качестве Owner указать ibq: Код: pascal 1. Тогда транзакция будет освобождена вместе с ibq. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 11:41 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Polesov antox Будет ли удален ibq.Transaction := TIBTransaction или его надо отдельно удалять? Будет при освобождении IBDatabase1. Мне кажется, лучше при создании в качестве Owner указать ibq: Код: pascal 1. Тогда транзакция будет освобождена вместе с ibq. Отлично, пришлось только добавить Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 11:54 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
antox Будет ли удален ibq.Transaction := TIBTransaction или его надо отдельно удалять? формально экземпляр объекта уничтожается автоматом при уничтожении owner'a. Но, представь, что в твоем коде создание экземпляра объекта транзакции завершилось фейлом. Ы? зы. прокладки try..filnally/try..except не просто так придуманы:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 13:25 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Док, А при каком условии создание транзакции может завершиться ошибкой? И да, бесит, что нет нормальной конструкции: Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 13:31 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
antox И да, бесит, что нет нормальной конструкции: Легко заменяется: Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 13:44 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
antox> А при каком условии создание транзакции может завершиться ошибкой? Наверняка, при проблемах с соединением (потеря связи, закрытие соединения со стороны сервера). В случае эксепшена в триггере на старт транзакции - тоже, наверное (не помню уже, лень проверять). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 13:47 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
antox Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Зачем вообще при создании объекта задавать владельца, если ты этот объект убиваешь сам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 14:00 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
antox А при каком условии создание транзакции может завершиться ошибкой? Если брать шире, то неважно, при каких условиях. Важна методология. В любой классической книжке по Паскалю об этом говорится, когда описывается создание объектов и обработки исключительных ситуаций. Так что, в твоем случае можно написать как-то: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 14:23 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам antox> А при каком условии создание транзакции может завершиться ошибкой? Наверняка, при проблемах с соединением (потеря связи, закрытие соединения со стороны сервера). В случае эксепшена в триггере на старт транзакции - тоже, наверное (не помню уже, лень проверять). Не, ошибок не будет, ничего не будет, пока с транзакцией работать не начнёшь. Это ведь всего лишь оболочка, экземпляр класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 14:29 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Док Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Тут двух блоков не нужно, одного достаточно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 14:34 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
ъъъъъ> Не, ошибок не будет, ничего не будет, пока с транзакцией работать не начнёшь. Да, это я в вопрос не вник, я про старт говорил. Сорри, короче. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 14:35 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Тут двух блоков не нужно, одного достаточно. Но так красивше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 14:51 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey antox И да, бесит, что нет нормальной конструкции: Легко заменяется: Код: pascal 1. 2. 3. 4. Не видел такого, подробную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 15:10 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
ъъъъъ antox Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Зачем вообще при создании объекта задавать владельца, если ты этот объект убиваешь сам? Что бы обьект коннекшена не задавать, так он сразу сам задаётся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 15:13 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
antox ъъъъъ пропущено... Зачем вообще при создании объекта задавать владельца, если ты этот объект убиваешь сам? Что бы обьект коннекшена не задавать, так он сразу сам задаётся А зачем вообще объект транзакции на каждый чих создавать? Отчего не создать нужный набор при создании TIBDatabase? Например, RC/R, RC/W и RR (для отчетов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 15:18 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
ъъъъъ antox пропущено... Что бы обьект коннекшена не задавать, так он сразу сам задаётся А зачем вообще объект транзакции на каждый чих создавать? Отчего не создать нужный набор при создании TIBDatabase? Например, RC/R, RC/W и RR (для отчетов). На чтение использую одну транзакцию в приложении, для записи создаю каждый раз + на датасеты по смыслу А так-то, наверно, можно переделать. Почему на отчёты отдельная нужна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 16:56 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
antox Почему на отчёты отдельная нужна? Не "отдельная", а именно RR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2020, 17:54 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Тут двух блоков не нужно, одного достаточно. ЗЫ. Это провокация :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2020, 15:40 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_> ЗЫ. Это провокация :) Ты там покопался и нашёл что-то или я чего забыл? :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2020, 15:42 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Ты там покопался и нашёл что-то или я чего забыл? :) А провокация потому, что вспомнился старый тред о том, как относиться к исключениям в деструкторах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2020, 16:07 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ вспомнился старый тред о том, как относиться к исключениям в деструкторах вы бы не путали неофита. Пусть пишет с лишней обвязкой, пальцы, небось, не сотрутся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2020, 17:05 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Док> Пусть пишет с лишней обвязкой И всё равно ты неправ. :) Если бы конструкторов было пять - плодил бы пять вложенных блоков? Пальцы не сотрутся, конечно, ни у тебя, ни у него, но всё же это неправильно. :) Хотя я это, конечно, зря пишу - помню, что ты упёртый. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2020, 17:16 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Если бы конструкторов было пять - плодил бы пять вложенных блоков? ЗЫ. А в джаве придумали try-with-resourses. Там синтаксис Код: java 1. 2. 3. 4. 5. 6. 7. 8. эквивалентен такому Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. и исключение в любом месте приводит к корректному выполнению finally блоков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2020, 18:32 |
|
||
|
Освобождение памяти TIBSQL
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ ЗЫ. А в джаве придумали try-with-resourses. Так там в любом случае переменные удалятся при выходе за scope. В чем изобретение-то? В Дельфях тоже можно все объекты в интерфейсный autofree объектик заворачивать. Но, кмк, если взбухает исключение в деструкторе, то случилась довольно серьезная бяка, и на утечку от невыполненного второго тут уже покласть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2020, 10:49 |
|
||
|
|

start [/forum/topic.php?fid=58&tid=2038478]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 278ms |
| total: | 387ms |

| 0 / 0 |
