|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ошибка при закрытии порта
Код:
procedure TEditPersonsForm.RadioGroup1Click(Sender: TObject); begin if radiogroup1.ItemIndex=0 then opencomport; if radiogroup1.ItemIndex=1 then begin closecomport; end; end; procedure TEditPersonsForm.closecomport; begin rt.Terminate; CloseCom(ftHandle); end; procedure TEditPersonsForm.opencomport; begin ftHandle := InitCom(0); if ftHandle <> COMInvHandle then begin rt := TReadCardThread.Create(true); rt.HWND := Handle; rt.usb := ftHandle; rt.Resume; end else begin end; end; выходит ошибка {access violation at address 00425EBC in module 'project1.exe'. Write of address 0000000D} не подскажите как исправить? |
#2
|
||||
|
||||
По ходу какой-то метод пытаешься вызвать с мертвого объекта. Смотри в дебаге. Предположу, что здесь:
Код:
rt.Terminate; Код:
if rt <> nil then rt.terminate; ... rt := TReadCardThread.Create(true); rt.FreeOnTerminate := True; — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 16.09.2011 в 09:44. |