Главная страница
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.5 MB
Время: 0.031 c
2-1192436477
thely
2007-10-15 12:21
2007.11.11
Написание простой OCX.


2-1192915547
Falcon
2007-10-21 01:25
2007.11.11
Получить дату без года в формате текущих региональных настроек


2-1192557885
Riply
2007-10-16 22:04
2007.11.11
Помогите с оптимизацией.


2-1192513567
F@T@L_Err0r
2007-10-16 09:46
2007.11.11
COM1


2-1192770943
Lebedev
2007-10-19 09:15
2007.11.11
Как правильно закрыть всё приложение с модальными формами.