Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Неужели ни кто не поможет.....?
Очень нужно......


Наверх

Титульная страница Поиск, карта сайта Написать письмо