Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.08;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.012 c
4-22876
JAndrey
2002-01-31 01:15
2002.04.08
Как заблокировать клавиатуру и мышь?


7-22864
Ruslan
2002-01-09 11:49
2002.04.08
RS232


3-22607
xim
2002-03-17 15:47
2002.04.08
Помогите советом, сломалась таблица parodox.


1-22721
Sound
2002-03-25 22:29
2002.04.08
Поиск по Memo


3-22556
denys
2002-03-15 16:18
2002.04.08
array columns