Al programar la comunicación serie, si el puerto está ocupado, ¿cómo puedo recibir el mensaje de error?
O use la función CreateFile para juzgar, puede probar: p>
var
hNewCommFile:Thandle;
comenzar
.....
hNewCommFile:=CreateFile(PChar ('com1'), GENERIC_READ o GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL o FILE_FLAG_ OVERLAPPED, 0);
si hNewCommFile = INVALID_HANDLE_VALUE entonces
showmessage('Error al abrir el puerto serie ' );
......
fin
---------------- p>
intenta
mscomm1.CommPort:=1;
si mscomm1.portopen=false entonces
mscomm1.Settings.inBufferCount:=0;
excepto
comenzar
showmessage('¡error com1!');
aplicación.Terminar
; fin;
--------------
. . . . .
excepto
comenzar
showmessage('¡error com1!
aplicación.Terminar
finalizar; ;
end; //este final es demasiado, deberías eliminarlo
. . . .
procedimiento TForm1.ComboBox1Select(Remitente: TObject);
comenzar
if mscomm1.CommPort:=2;
mscomm1.portopen :=true;
excepto
showmessage('Puerto serie ' combobox1.Text '¡No se puede abrir correctamente!')
end;
El uso de try except para controlar las excepciones se ejecuta en un entorno de depuración y el resultado seguirá apareciendo, por lo que debe ejecutar el archivo ejecutable compilado por separado para ver el efecto de controlar las excepciones
Uso de try except controla las excepciones que se ejecutan en un entorno de depuración.