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