Witam,
chcę zbudować aplikację, która w polu Edit (może być Memo) wyświetlać będzie zawartość bufora komunikacyjnego (transmisja po porcie szeregowym). Zapis do pola Edit jest zapętlony (tymczasowo pętlą for). I tutaj właśnie jest problem. Zawartość pola Edit nie jest odświeżana po każdym przebiegu pętli, tylko po zakończeniu wykonywania wszystkich operacji zawartych w funkcji SendClick. Przerwanie pętli jakimś komunikatem powoduje odświeżenie pola, ale nie tak ma to wyglądać, aby użytkownik musiał co chwila klikać OK. Próbowałem w pętli dodać opóźnienie Sleep(500), ale bez zmian... Proszę o wskazówki. Poniżej wklejam kod funkcji SendClick:
void __fastcall TForm1::SendClick(TObject *Sender)
{
FILE *pstream;
if (hCommDev > 0)
{
PurgeComm(hCommDev, PURGE_RXCLEAR);
Sleep(1000);
for (int i=0;i<10;i++)
{
Read_Comm(hCommDev, &Buffer_I[0], &Number_Bytes_Read, 4);
if (Number_Bytes_Read > 0) // jeżeli odebrano jakieś bajty
{
Edit1->Text = Buffer_I; //&Buffer_I[0];
}
}
}
else MessageBox(NULL, "Port nie został otwarty do transmisji.","Błąd", MB_OK);
}