Форум: "Начинающим";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизКакой объект вызывает ошибку 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c