Einzelnen Beitrag anzeigen

Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#1

Wie mit TSerial prüfen, ob was an COM angeschlossen ?

  Alt 26. Jan 2007, 14:13
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.
Wahre Aussage :=
Katzen, die bellen sind keine Kaninchen.

Der Kreisverkehr ist eine spezielle Form der Einbahnstraße
  Mit Zitat antworten Zitat