![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ACCESS и threads [D5, MS ACCESS]
ghost_by © (2002-03-14 21:19:00)Можно ли как-нибудь их померить?....
Есть DataModule, есть некоторое количество нитей, все они (нити) должны использовать данный DataModule, но что-то ни в какую - Access Vialation ... и т.д. Никакая синхронизация не помогает....
Можно ли это как-то исправить, т.е. заставить работать?
ghost_by (2002-03-18 07:27:00) [1]Спасибо- вроде как фунциклирует....
Набережных С. (2002-03-17 23:12:00) [2]Поставить - другое дело. Берешь нормальный инсталлятор, включаешь соответствующие опции - все. Мне, например, нравится Wise Installer. А вручную никогда не делал, извини.
ghost_by (2002-03-17 21:04:00) [3]А зачем?- Очениь просто. Есть у людей Jet 3.5. Моей программе нужно Jet 4.0. Приношу этим людям свой программу и ничего не фунциклирует. Возникает вопрос - как поставить Jet 4.0?
Извените меня за мою назойливость- ну очень нужно.
Набережных С. (2002-03-17 15:36:00) [4]То есть, чтобы присутствовали обе версии? Не знаю, возможно ли это. А зачем?
ghost_by (2002-03-17 12:36:00) [5]У JET 4.0 модель Both.- все заработало.....
Такой вопрос: если на каком-то компе имеется только JET 3.5, как поставить еще и 4.0
Набережных С. (2002-03-16 09:45:00) [6]Ну тогда ошибка в 27-й строке. И в 34-й.
ghost_by (2002-03-16 00:59:00) [7]AV у тебя, скорее всего, возникает, когда два потока одновременно пытаются открыть коннект через один компонент ADOConnection- в программе на 100%одновременно не используется ни какой датасет, и ни чего не делают одновременно. и все таки - AV
Набережных С. (2002-03-15 21:05:00) [8]Да при чем тут Access? Ты же через провайдера работаешь. Нужно синхронизовать доступ к компонентам - нельзя использовать один датасет двумя потоками одновременно. И управлять коннектом нужно аккуратно. AV у тебя, скорее всего, возникает, когда два потока одновременно пытаются открыть коннект через один компонент ADOConnection.
ghost_by (2002-03-15 20:41:00) [9]Access не safe thread- неужели все включая XP?
И что мне вообще делать - выходит, что создавать все добро динамически.... Я правильно ответил на свой вопрос?
Набережных С. (2002-03-15 19:49:00) [10]
> digitman © (15.03.02 18:53)
У JET 4.0 модель Both.
digitman (2002-03-15 18:53:00) [11]Абстрагируйся на время от своих DataModule и иже с ними.
Вникни в и запомни :
Закон №1: каждый отдельный поток должен использовать отдельный экземпляр DAO.DBEngine
Закон №2: каждый поток, создавший свой экземпляр DAO.DBEngine, должен обращаться к методам/свойствам только своего экземпляра DAO.DBEngine, и ни в коем случае - к чужим, в противном случае - "смерть от AV")
Данные "законы" верны не только для DAO.DBEngine, но и для любых серверных объектов, имеющих ThreadingModel = Apartment.
Набережных С. (2002-03-15 17:27:00) [12]А что можно сказать, не видя кода?
Загляни для начала сюда, может наведет на мысли:
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=9343
Если останутся вопросы - спрашивай конкретней.
EAlexander (2002-03-15 16:52:00) [13]IMHO, Access не safe thread, поэтому AV :)
ghost_by (2002-03-15 15:44:00) [14]Неужели ни кто не поможет.....?
Очень нужно......