Hallo,
nun mal eine Frage zu TSerial4.2 (unter BDS2006)
Ich will prüfen, ob ein Gerät an der seriellen Schnittstelle angeschlossen ist.
ich arbeite im asynchr. Modus.
Wenn ein Gerät angeschlossen, dann kommt auf eine Frage eine definierte Antwort zurück
Wie prüft man, soetwas?
Meine TimerRoutine habe ich dazu so geschrieben,
Delphi-Quellcode:
procedure TF_Einstell.T_Einstell1Timer(Sender : TObject);
begin
takt1 := takt1 + 1;
case takt1 of
1 :
begin
n := F_Haupt.Port.TransmittText(Frager);
// hier bleibt das Programm stehen
end;
2 :
begin
E_Transfer.Text := U_Haupt.t;
end;
3 :
begin
T_Einstell1.Enabled := false;
takt1 := 0;
takt2 := 0;
t := '';
E_Transfer := Edit2;
if Edit2.Text = 'MULTIDOS 2.20 ' then // hier sollte weiterer Transfer
begin // stattfinden
Frager := 'AM' + #13#10; // wenn was dran wäre
T_Einstell2.Enabled := true; // soweit komme ich aber
B_Reset.Enabled := true; // im Negativ-Fall nicht
end
else ShowMessage('Kein MultiDos angeschlossen');
end;
end;
end;
Leider kommt die Routine nicht so weit und bleibt schon bein Case 1 stehen (sicherlich auch verständlich)
Wie kann man dieses geschickter machen?
Danke
E. B.