Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.12.2010, 17:14
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию Access violation at address 00000000 Read of address 00000000

Не поиму в чем дело есть ветки PCnav (Treeview) на ней висит код:

Код:
var
  y: TUCH;
  i: integer;
  n:string;
begin
n:=PCnav.Selected.Text;
DM.IBQuery1.Close;
DM.IBQuery1.SQL.Clear;
DM.IBQuery1.SQL.Add('SELECT *');
DM.IBQuery1.SQL.Add('FROM "UCH"');
DM.IBQuery1.SQL.Add('WHERE USE like ''' +'%'+n+'%''');
DM.IBQuery1.Open;
for i:= 0 to MdiChildCount - 1 do
 MDIChildren[i].Close;
    y := TUCH.Create(Owner);
    y.WindowState:=wsMaximized;

После 3 раза нажатия на ветку вылитает сообщение: Access violation at address 00000000 Read of address 00000000 , при этом два раза подряд срабатывает....
Ответить с цитированием
  #2  
Старый 27.12.2010, 21:14
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Объект не создан.
Какого овнера передаешь?
Советую поставить точку останова и пошагово посмотреть на какой строчке падает. Так будет проще багу искать
И еще, желательно в начале прописать
Код:
if PCnav.Selected = nil then
  Exit;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию

Последний раз редактировалось M.A.D.M.A.N., 27.12.2010 в 21:21.
Ответить с цитированием
  #3  
Старый 28.12.2010, 10:28
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию

Вылетает на запросе:

Код:
DM.IBQuery1.Close;
DM.IBQuery1.SQL.Clear;
DM.IBQuery1.SQL.Add('SELECT *');
DM.IBQuery1.SQL.Add('FROM "UCH"');
DM.IBQuery1.SQL.Add('WHERE USE like ''' +'%'+n+'%''');
DM.IBQuery1.Open;

Но тут нечего необычного нет

P.S

Забыл сказать PCnav формируется из БД

Код:
var
  S: TUCH;
  K,c,r:integer;
begin
DM.IBQuery1.Active:=false;
  DM.IBQuery1.SQL.Clear;
  DM.IBQuery1.SQL.Add('SELECT *');
  DM.IBQuery1.SQL.Add('FROM "SOTR" order by FIO asc');
DM.IBQuery1.Active:=true;
PCnav.Items.Clear;
c:=0;
k:=1;
dm.IBQuery1.first;
while not (dm.IBQuery1.eof) do
begin
c:=i+1;
K:=k+1;
PCnav.Items.AddObject(nil, dm.IBQuery1.fieldbyname('FIO').asstring,
    Pointer(dm.IBQuery1.fieldbyname('FIO').asstring));
dm.IBQuery1.next;
PCnav.ReadOnly:=true;
  end;
    end;
Ответить с цитированием
  #4  
Старый 15.03.2011, 16:24
vika vika вне форума
Прохожий
 
Регистрация: 15.03.2011
Сообщения: 2
Репутация: 10
По умолчанию помогите чайнику((

при выключение компа вылетает access violation at addres 00000000 read of address 00000000.
обьясните все пошагому что и как это убрать((( я мало понимаю что за код и куда его втыкать
заранее спасибо
Ответить с цитированием
  #5  
Старый 15.03.2011, 16:38
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Цитата:
Сообщение от vika
при выключение компа вылетает access violation at addres 00000000 read of address 00000000.
обьясните все пошагому что и как это убрать((( я мало понимаю что за код и куда его втыкать
заранее спасибо
Код который описан выше к вашей ошибке не имеет ни какого отношения, это раз. Для своего вопроса, надо создать новую тему в разделе новичков или другое, это два. Ваша ошибка, вероятнее всего появляется при закрытии какого-то приложения установленного в вашей системе это три.
Для начала, надо попробовать определить, что за приложение выдает ошибку, а дальше разбираться с ним. Для начала советую посмотреть в журнал событий виндовс, на "Мой компьютер" жмем правой кнопкой и в меню выбираем "Управление", там в разделе Просмотр событий, в категориях "Приложения" и "Система" ищем ошибки с восклицательным знаком, при обнаружении которых, их там открываем и смотрим что за программа их инициировала. Дальше удаляем или пере-устанавливаем на последнюю версии программы.
Ответить с цитированием
  #6  
Старый 15.03.2011, 16:44
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Цитата:
Сообщение от Dead_Gigabit
Вылетает на запросе:
Код:
DM.IBQuery1.Close;
DM.IBQuery1.SQL.Clear;
DM.IBQuery1.SQL.Add('SELECT *');
DM.IBQuery1.SQL.Add('FROM "UCH"');
DM.IBQuery1.SQL.Add('WHERE USE like ''' +'%'+n+'%''');
DM.IBQuery1.Open;
Конкретно на какой строчке вылетает? Вылетать может при Close; и при Open;
Если раньше работало, то смотрите изменения которые вы внесли в код.
Вместо этого:
Код:
for i:= 0 to MdiChildCount - 1 do
лучше написать вот это:
Код:
While MdiChildCount > 0 do
Ответить с цитированием
  #7  
Старый 15.03.2011, 19:02
vika vika вне форума
Прохожий
 
Регистрация: 15.03.2011
Сообщения: 2
Репутация: 10
По умолчанию

у меня куча ошибок в управление компа и в приложении и в системе.все с воскличательным знаком только почему то удалить их нельзя
Ответить с цитированием
  #8  
Старый 15.03.2011, 19:44
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

vika, стукайте в аську 593977748, попробую помочь
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя
Ответить с цитированием
  #9  
Старый 16.03.2011, 00:01
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Цитата:
Сообщение от Assistant
vika, стукайте в аську 593977748, попробую помочь
Прекращай уводить народ, вопросы заданные на форуме, решаться должны так же на форуме. Тебе уже делали по этому поводу замечание. Помоги ей лучше в правильном разделе создать тему, и поможем ей разобраться с ее проблемой.
Ответить с цитированием
  #10  
Старый 16.03.2011, 00:14
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Asinkrit
Прекращай уводить народ, вопросы заданные на форуме, решаться должны так же на форуме. Тебе уже делали по этому поводу замечание. Помоги ей лучше в правильном разделе создать тему, и поможем ей разобраться с ее проблемой.
там вообще отношения к программированию не было, поэтому я и предложил решить в аське и TeamViewer, были трояны, 3 штуки, DLLки и EXE'ник один, убрал, почистил все - заработало как надо. AVZ + Gmer рулят.

P.S.: я ещё не одного человека не увел с форума и не собираюсь, если что-то в аське решалось, то выкладывалось сразу здесь по программированию.
P.S.2: а не отписался по окончанию решения проблемы потому что был занят. Вот щас все бросил, ради того что бы ответить.
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя

Последний раз редактировалось Assistant, 16.03.2011 в 00:22.
Ответить с цитированием
  #11  
Старый 16.03.2011, 00:31
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Понимаешь, ситуация в том, что большинству людям, которые посещают форум, важна не конечный результат решения проблемы, а алгоритм ее решения. Который ты провернул в аське, и если человек попадет в данную тему через поиск, то что он увидит, описание его проблемы, стучите в аську, и результат, мол все решено, было то и то, а как оно было решено, что при этом делали, для него останется загадкой.
Ответить с цитированием
  #12  
Старый 16.03.2011, 00:38
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

там такое решение, что если не умеешь пользоваться AVZ, то нужно ТАКОЙ мануал тут накатать, что ну его нафиг такое решение вообще. А этот человек понятия не имел не о AVZ, не о троянах.

P.S. и я написал что AVZ и GMER рулят, просто сразу не было времени ответить.
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя

Последний раз редактировалось Assistant, 16.03.2011 в 00:44.
Ответить с цитированием
  #13  
Старый 16.03.2011, 01:44
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Прекращайте оффтопить оба. Я так понимаю, изначальная проблема ещё не решена.
%Dead_Gigabit, у тебя на какой строчке именно вылетает? Очень похоже, что какой-то компонент в момент запроса не создан. Пройдись трейсом по коду, посмотри, где у тебя ошибка. Что вообще за PCnav?
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:14.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter