Здравствуйте, IB, Вы писали:
IB>Расскажи ка мне, как ты собираешься работать с параллельными транзакциями из одного подключения в однопоточном приложении?
IB>Приостанавливать действие одной транзакции и запускать из того же потока другую? Вот уж действительно редкое извращение.
Абисняю. Все ОЧЕНЬ ПРОСТО.
Есть один TDatabase на приложение.
В каждой форме где есть запросы есть как минимум одна транзакция. она стартуется/коммитится в соответствии в логикой работы запросов на этой форме. И меня совершенно не волнует при этом что какой-то другой модуль может что-то сделать с транзакией этой формы — потому что они просто ее не видят
На всякий случай поясню — приложение однопоточное, в автокриэйте всего пара форм, остальные создаются при открытии окна и потом уничтожаются. Окна есть как модальные так и MDIChild.\
А вот помнится когда я писал под тот же IB через BDE где есть ограничение один коннект — одна транзакция — вот это была блин песня. Страшный сон. Надо высчитывать сколько же понадобится коннектов, какого типа там буду транзакции, в итоге у меня было 4 коннекта (и соответственно 4 транзакции) — 2 на работу со справочниками и 2 — на раоту с документами. По 2 — что бы можно было удерживая холостым Update делать что-то еще.