0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 35
1

Access Violation (Read of Adress 000000) при подключении ClientDataSet

28.07.2015, 11:13. Показов 1881. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане! Столкнулся с такой проблемой: писал программу по обработке строковых данных. Но не суть. Структура такая: ClientDataSet подключается к xml базе. Далее ClientDataSet->DataSource->DBGrid
Т.е. при запуске программы должно происходить подключение в этой самой базе. Код при запуске
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.TimerTimer(Sender: TObject);
 begin
 if clientdataset1.Active=false then
 begin
   try
  clientdataset1.FileName:='C:\Program Files\DirectHelperSoft\base.xml';
   clientdataset1.Active:=true;
   datasource1.Enabled:=true;
   dbgrid1.Enabled:=true;
 with dbgrid1 do
begin
   columns[3].Visible:=false;
   columns[0].title.caption:='Ключ';
   columns[1].title.caption:='Заголовок';
   columns[2].title.caption:='Объявление';
   columns[0].title.Alignment:=taCenter;
   columns[1].title.Alignment:=taCenter;
   columns[2].title.Alignment:=taCenter;
   columns[0].Width:=2*(width div 10);
   columns[1].Width:=2*(width div 10);
   columns[2].Width:=6*(width div 10)-trunc(0.3*(width div 10));
end;
Сначала этот код висел на обработчике formCreate, но это было не правильно. Поэтому повесил на таймер. ЕСТЬ ОДНА ВАЖНАЯ ДЕТАЛЬ: данная проблема возникает на любом другом компьютере, на моем, где установлена среда разработки все работает! Примечание: на других компьютерах создавал файл C:\Program Files\DirectHelperSoft\base.xml . Даже библиотеку Midas перекидывал со своего компа на другие. Эффекта ноль.
Пишет Access Violation in module XXXX project1. Read of adress 0000000
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.07.2015, 11:13
Ответы с готовыми решениями:

Получаю Access violation at adress 056A399 ... Read of adress 00000044
Уважаемые! Проблема такого рода. При выполнении процедуры Procedure TEd.DelClick(Sender:...

ActiveX ошибка: Х Access violation at address xx in module 'xxx.ocx'.Read of adress 0000030.
Подскажите, кто знает Не могу обратиться к свойству главной формы (например ActivexForm.Left )...

Ошибка в c++ form: Access violation at adress 00401E16 in module 'Project1.exe'. Read of adress A4F698D8
Нужно методом блочной(карманной) сортировки упорядочить массив по возрастанию. Программы выдает...

Access violation at adress 40009720. read of adress
Народ помогите что это за хрень, никак убрать не могу ее. Плиииииисс по зарез надо, вот мой код где...

8
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,248
28.07.2015, 12:39 2
В сообщении об ошибке написано
Access Violation in module XXXX project1 at address YYYYYYYY. Read of adress 0000000
Попробуй найти этот адрес с помощью отладчика.
1
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 35
28.07.2015, 13:33  [ТС] 3
А как это делается?
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,248
28.07.2015, 13:53 4
Ставишь точку останова где-нибудь в начале программы. Например на строку с begin в файле проекта. Запускаешь программу. Когда она остановится идешь в меню Search и там ищешь пункт Go to address
1
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 35
28.07.2015, 14:48  [ТС] 5
006B8337 mov eax,[eax] что с этим делать?
0
11 / 11 / 7
Регистрация: 23.07.2015
Сообщений: 62
28.07.2015, 15:47 6
на какой строке ругается?
когда AV пишет Read of adress 0000000, то это попытка обратиться к несуществующему объекту, проверь, все ли создалось?
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,248
28.07.2015, 19:52 7
Цитата Сообщение от Александр_absub Посмотреть сообщение
Поэтому повесил на таймер.
Таймер когда включаешь?
1
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 35
01.08.2015, 21:12  [ТС] 8
как я понимаю таймер включается сразу после загрузки формы. Я просто изначально в object inspector установил время и поставил enabled: true; Думаете дело в таймере? Я пробовал вешать процедуру на обработчик кнопки, та же проблема, поэтому сомневаюсь, что дело в таймере. Честно говоря именно из-за того, что я пробовал разные варианты(вешал на разные события), пробовал запускать на разных компах( помимо моего), главное удручает то, что на моем компе все запускается.
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,248
02.08.2015, 01:06 9
Цитата Сообщение от Александр_absub Посмотреть сообщение
как я понимаю таймер включается сразу после загрузки формы. Я просто изначально в object inspector установил время и поставил enabled: true;
Очень зря. Не надо так делать никогда.
Цитата Сообщение от Александр_absub Посмотреть сообщение
Я пробовал вешать процедуру на обработчик кнопки, та же проблема
Тогда нужно больше кода показывать. Лучше всего тогда прикрепить архив с проектом и всеми необходимыми файлами к сообщению.
P,S. Access Violation с "Read of adress 0000000х" означает что идёт обращение к не созданному объекту или к динамическому массву, для которого не выделили память.
1
02.08.2015, 01:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2015, 01:06
Помогаю со студенческими работами здесь

Ошибка Access Violation at adress.Read. при доступе на запись к полю обьекта
Не пойму, где ошибка?(где натупил?) ошибка возникает при последней итерации, если делаю Х-2, все...

Ошибка "Access violation at adress 005D14F7 in mudule 'Project1.exe' Read of adress 000003C4."
Подскажите как решить такую проблему: Заранее благодарен.

Выдает ошибку Делфи Acces violation at adress 005BE79F in module 'Project 1.exe' Read of adress
Не могу понять в чем ошибка, объясните пожалуйста type kup= array of integer; {$R...

Ошибка Access violation at adress 0046B96C in module 'Project2.exe'. Write of adress 00000020
Создаю почтовый клиент. Когда хочу получить список список писем возникает такая ошибка. Вот код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru