21.04.2020, 13:22
|
Прохожий
|
|
Регистрация: 23.01.2017
Сообщения: 9
Версия Delphi: Delphi7
Репутация: 10
|
|
Зависает программа
Есть некий код, при выполнении которого программа зависает часа на два, пока не выполнится цикл. Знаю что можно этот цикл запихнуть в отдельный поток, а как это сделать не знаю, с потоками никогда не работал. Подскажите пожалуйста как это лучше сделать. Заранее спасибо.
Код:
procedure TMyForm.PuskButClick(Sender: TObject);
var
i, j, k: Integer;
s, str, sum, xOut, xOut1, StrAdr: String;
x: Byte;
pop: array of Byte;
WritteBuffer: array[1..19] of Byte;
ReadBuffer: array[1..21] of Byte;
BytesWritten, BytesRead: DWORD;
begin
if PortConnect = True then
if InitModem = True then
begin
for i := 1 to 4094 do
begin
.................................................................
//здесь происходит преобразование посылки в СОМ порт
.................................................................
WriteFile(Port, WritteBuffer[1], Length(WritteBuffer), BytesWritten, nil);
ReadFile(Port, ReadBuffer, SizeOf(ReadBuffer), BytesRead, nil);
.................................................................
//здесь происходит преобразование ответа из СОМ порта
.................................................................
end;
end;
|