ReadString weiter bearbeiten



  • Hallo!
    Ich bekomme minütlich einen AnsiString über:

    if(ComPort1->Active==true)
    {
    test = ComPort1->ReadString();
    }
    Label12->Caption=test;

    Dieser erscheint aber auch nur kurz. Wie kann ich diesen festhalten und in andere Labels verteilen? Hat jemand ein Beispiel?



  • Deklariere in der Headerdatei deiner Hauptklasse (deiner Form) eine Membervariable und speichere deine Strings temporär darin ab.

    Die Verteilung auf andere Labels hast du doch schon in deinem Programm, also weisst du doch wie es funktioniert.

    Dadurch das du sicherlich einen Timer verwendest der jede Sekunde pollt, überschreibst du immer wieder deine Label Caption und daher wird der String vom Comport auch nur kurz angezeigt.

    Du solltest die if-Anweisung überdenken und was sie genau tut und was nicht.Da du für deine Labelzuweisung keinerlei Kontrollstruktur verwendest wird diese fröhlich und munter bei jedem Aufruf überschrieben. Ideal wäre es wenn du zunächst überprüfst ob überhaupt Daten am Comport verfügbar sind.


Log in to reply