Ĺadny brzuch
Mam taki problem:
Mój pogramik ma obsługiwać kilka portów COM na raz. Każdy z tych portów trzeba otworzyć z innym uchwytem. Problem w tym że portów tych może być 2 a może być 20. Jak tworzyć nowe uchwyty. Np. z kolejnymi numerami. I jak się do nich potem odwoływać.
To kawałek mojego kodu:
function Tkreat_port_testBox.otworz_RS(Port_RS:Pchar):Pchar; // Otwarcie portu ______________________________________________________________ begin hCommDev:= CreateFile(Port_RS, GENERIC_READ or GENERIC_WRITE, 0, NIL, OPEN_EXISTING, 0, 0); if (hCommDev <> INVALID_HANDLE_VALUE) then begin dcb.DCBlength := sizeof(dcb); GetCommState(hCommDev, dcb); dcb.BaudRate := CBR_19200; dcb.Parity := NOPARITY; dcb.StopBits := ONESTOPBIT; dcb.ByteSize := 8; SetCommState(hCommDev, dcb); end; result:='ok'; end; //______________________________________________________________________________
I jeszcze jedno pytanie. Jak zamknąć jeden z otwartych protów. Jak używam CloseHandle(hCommDev); to po zamknięciu programu pojawia się komunikat o błędzie.
Z góry dzięki za pomoc.
1. Użyć tablicy?
2. Jaki błąd?
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mój pogramik ma obsługiwać kilka portów COM na raz. Każdy z tych portów trzeba otworzyć z innym uchwytem. Problem w tym że portów tych może być 2 a może być 20. Jak tworzyć nowe uchwyty. Np. z kolejnymi numerami. I jak się do nich potem odwoływać.
To kawałek mojego kodu:
function Tkreat_port_testBox.otworz_RS(Port_RS:Pchar):Pchar; // Otwarcie portu ______________________________________________________________ begin hCommDev:= CreateFile(Port_RS, GENERIC_READ or GENERIC_WRITE, 0, NIL, OPEN_EXISTING, 0, 0); if (hCommDev <> INVALID_HANDLE_VALUE) then begin dcb.DCBlength := sizeof(dcb); GetCommState(hCommDev, dcb); dcb.BaudRate := CBR_19200; dcb.Parity := NOPARITY; dcb.StopBits := ONESTOPBIT; dcb.ByteSize := 8; SetCommState(hCommDev, dcb); end; result:='ok'; end; //______________________________________________________________________________
I jeszcze jedno pytanie. Jak zamknąć jeden z otwartych protów. Jak używam CloseHandle(hCommDev); to po zamknięciu programu pojawia się komunikat o błędzie.
Z góry dzięki za pomoc.
1. Użyć tablicy?
2. Jaki błąd?