Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Aktuelle Daten der seriellen Schnittstelle anzeigen (https://www.delphipraxis.net/98797-aktuelle-daten-der-seriellen-schnittstelle-anzeigen.html)

oki 3. Sep 2007 13:47

Re: Aktuelle Daten der seriellen Schnittstelle anzeigen
 
Zitat:

Zitat von eticket
Muß ich hier einen 2. Thread erstellen mit dem Fenster und den Text dann an dieses Fenster übergeben?
Wie mache ich das am geschicktesten?
Michael

Nein, mußt du nicht.

du definierst in deinem zweiten Formular ein neues Property:
Delphi-Quellcode:
TForm2 = class(TForm)
...
private
  FMeineDaten : String;
  procedure SetMeinedaten(Value : String);
...
public
  property MeineDaten : String read FMeineDaten write SetMeineDaten;


.....

procedure TForm2.SetMeineDaten(Value : String);
begin
  FMeinedaten := Value;
  StaticText1.Caption := Value;
  Invalidate;
end;
Übergabe:
Delphi-Quellcode:
procedure TForm1.RefreshValues(Sender: TObject; Daten : String);
Var Text : String;
begin
Text := Daten;
// und im Hauptfenster aktualisieren
...
  Form2.MeineDaten := Text;
...
end;
Durch setzen der Property MeineDaten wird durch die Setter-Methode SetMeineDaten die Anzeige in deinem zweiten formular aktualisiert. dieses sollte natürlich aktiv sein, sonst mußt du natürlich noch ein Form2.Show einfügen.

Gruß oki

eticket 3. Sep 2007 14:15

Re: Aktuelle Daten der seriellen Schnittstelle anzeigen
 
Super, funktioniert so, wie du es beschrieben hast.

:bounce1:

Die Reaktionszeit ist nur etwas träge, d.h.
ich klicke z.T. mehrfach auf das Häkchen, um es zu
deaktivieren und damit das Fenster wieder verschwinden
zu lassen.

Habe aber einen Weg gefunden, indem ich das Fenster nur
anzeige, wenn ein entsprechender Wert>0 eingetragen wird.
Ansonsten verschwindet das 2. Fenster wieder automatisch.

Danke für die schnelle Reaktion.

oki 3. Sep 2007 17:37

Re: Aktuelle Daten der seriellen Schnittstelle anzeigen
 
Gern geschehen, aber was meinst du mit Häkchen?

[edit]
Nachtrag: Und denke daran, dass deine Anwendung auch mal etwas Process-Zeit braucht. Hast du einen ununterbrochenen Datenstrom auf der Schnittstelle, so wird auch das Ereignis ständig hochgereicht. Wenn das mehrfach pro Sekunde auftritt, dann wird es eng mit der Bedienung.
Sollte das der Fall sein, so "bremse" dein Execute im Thread mit einem Sleep aus. Der läuft ja eh als Thread und kann ruhig etwas schlafen, damit er deine Anwendung nicht überlastet. Das geht natürlich nur, wenn du dadurch keine Daten an der Schnittstelle verlierst. Eine weitere Methode ist es, im Thread eine gewisse Menge von Daten zu sammeln (200???) und erst dann diese zu deiner Form hochzusenden.
Vielleicht wird deine Anwendung deshalb so träge, weil du 100 mal pro Sekunde Daten hochschickst.
[/edit]

Gruß oki


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz