Hej jeg har et lille problem (håber det er lille) jeg er igang med at lave et program der modtager signal fra COM2 porten.. Men når jeg tjekker om der kommer data på porten fryser programmet og det hele går så langsomt.. Det er nok metoden jeg modtager data på der er forkert men håber der er en der kan hjælpe mig?
Kode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
BytesRead: DWORD;
d: array[1..80] of Char;
i: integer;
data : string;
begin
if not ReadFile(ComFile, d, SizeOf(d), BytesRead, nil) then
begin
ShowMessage('Fejl! Kan ikke læse fra port');
Timer1.Enabled := FALSE;
Button1.Enabled := TRUE;
exit
end
else if BytesRead = 0 then
else
begin
data := '';
for i := 1 to BytesRead do
data := data + B2Hex(Ord(d[i]))+ ' ';
Delete(data, length(data),1);
Edit1.Text := data;
Memo1.Lines.Add('- '+data);
if data = '58 4F 4B' then
begin
Button1.Enabled := FALSE;
end;
end;
end;