Показать сообщение отдельно
  #1  
Старый 29.01.2011, 18:45
Аватар для Aggression
Aggression Aggression вне форума
Прохожий
 
Регистрация: 29.01.2011
Сообщения: 11
Репутация: 10
По умолчанию Работа с COM-портом, ошибка

Всем привет=)

Писала программу, которая обращается к COM-порту: пока что просто открывает/закрывает его. Открывает нормально, а при закрытии выдается ошибка: "Project project1.exe raised exception class EExternalException with message 'External exception C0000008'. Process stopped. Use Step or Run to continue."

Фрагмент программы:

Код:
var Port:THandle;
begin
if  button1.Caption='Открыть' then
begin
  Port:=CreateFile(
    '\\.\COM3',                   
    GENERIC_READ or GENERIC_WRITE,
    0,                            
    nil,                         
    OPEN_EXISTING,               
    FILE_ATTRIBUTE_NORMAL,         
    0                           
  );
 if (port=INVALID_HANDLE_VALUE)  
  then showmessage('Ошибка!') 
  else begin
  showmessage('Порт открыт');      
  button1.Caption:='Закрыть';
end;   end   else
if button1.Caption='Закрыть' then
begin
showmessage('Порт закрыт');
CloseHandle (port);// тут тупая ошибка
button1.Caption:='Открыть';

end;
  end;
Подскажите, пожалуйста, как избавиться от ошибки?
Ответить с цитированием