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

Вниз

Какой объект вызывает ошибку Access Violation?   Найти похожие ветки 

 
temp_and_test   (2007-10-22 10:41) [0]

Здавcтвуйте... я тут столкнулся только что с такой же проблеммой как и в вопросе ниже (вернее задача похожа). Пишет ошибку Access violation at address 00403858 in module project1.exe. Read of address fffffffc. Это если запускать скопилированный exe файл. А если запускать со среды то пишет Priveleged Instruction И НИКАКОГО НАМЁКА НА ОШИБКУ (в плане указания).

Я запускаю Search-> Find Error и попадаю в код что то Free. Вот как узнать какой объект уничтожается. Я и Dr Watson  запускал - ничего не находит.

У меня есть предположение что это кусочек кода глючит, но это только предположение.

procedure Link;
begin
try
   try
     NMEchoAdr_Link := TNMEcho.Create(Form1);
     NMEchoAdr_Link.TimeOut := 150;
     NMEchoAdr_Link.Port := 139;
     NMEchoAdr_Link.Host := IP;
     NMEchoAdr_Link.OnConnect :=Form1.test_IP;
     NMEchoAdr_Link.Connect;
   except
     Exit;
   end;
 finally
   NMEchoAdr_Link.Free;
 end;
end;


 
Reindeer Moss Eater ©   (2007-10-22 10:46) [1]

Form1.test_IP;


 
Reindeer Moss Eater ©   (2007-10-22 10:48) [2]

а объект - NMEchoAdr_Link


 
Сергей М. ©   (2007-10-22 10:48) [3]


> temp_and_test   (22.10.07 10:41)


Потому что неверная логика в коде твоем реализована.


 
korneley ©   (2007-10-22 11:38) [4]


>
> try
>    try
>    ...
>    except
>      Exit;
>    end;
>  finally
>    ...
>  end;
>



Ты в finally собираешься попадать только при отсутствии ошибок/ситуаций? А при их возникновении просто Exit и ни намека на открепление?


 
KSergey ©   (2007-10-22 11:42) [5]

> korneley ©   (22.10.07 11:38) [4]
> А при их возникновении просто Exit и ни
> намека на открепление?

Неужели вы думаете, что Exit обойдет finally стороной??
Впрочем,  я уже задавал в другйо ветке автору сего шедевра вопрос о смысле сих действий...


 
korneley ©   (2007-10-22 11:47) [6]


> Неужели вы думаете, что Exit обойдет finally стороной?
Вообще-то да... Пойду эксперимент поставлю, в целях прояснить для себя ситуацию :)


 
KSergey ©   (2007-10-22 11:50) [7]

> korneley ©   (22.10.07 11:47) [6]
> > Неужели вы думаете, что Exit обойдет finally стороной?
> Вообще-то да...

Это был бы пиец :)


 
Leonid Troyanovsky ©   (2007-10-22 11:57) [8]


> temp_and_test   (22.10.07 10:41)  

> У меня есть предположение что это кусочек кода глючит, но
> это только предположение.

Предполагаю, что и остальные части не менее глючны.

Книжечку к.л. почитай.

--
Regards, LVT.


 
korneley ©   (2007-10-22 11:57) [9]

Эксперимент прошел удачно. Не для меня. Вот век живи, век учись. Действительно, finally при exit работает... А при halt() - нет ;)


 
Leonid Troyanovsky ©   (2007-10-22 12:04) [10]


> korneley ©   (22.10.07 11:57) [9]

> учись. Действительно, finally при exit работает... А при
> halt() - нет ;)

Долго ты так учиться будешь.
Хелп бы почитал, Try...finally statements

--
Regards, LVT.


 
korneley ©   (2007-10-22 12:17) [11]


> Долго ты так учиться будешь
Я же сказал - Век :) Ну или около того. Просто со времен Трубопаскаля, я считал, что exit - это безусловный переход на финиш процедуры. Ошибался. Осознал. Теперь пытаюсь примирить новое знание с прежним мировозрением...


 
korneley ©   (2007-10-22 12:21) [12]

Да и конструкциям, типа
begin
 if <условие> then exit;
 ...
end;

предпочитаю
begin
 if not <условие> then begin
 ...
 end;
end;



Страницы: 1 вся ветка

Текущий архив: 2007.11.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
2-1192983475
saymon
2007-10-21 20:17
2007.11.11
key violation


2-1192520651
9899100
2007-10-16 11:44
2007.11.11
Поток


2-1192701788
dumka
2007-10-18 14:03
2007.11.11
Скины


2-1192559427
Norm Iridium
2007-10-16 22:30
2007.11.11
Как слить два файла и отсортировать?


2-1192699591
DelphiCoder
2007-10-18 13:26
2007.11.11
Перевод Си -> Паскаль...