Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Aktualisierung eines Fensters mit Delphi

Dragon (Anonym) / 3 Antworten / Flachansicht Nickles

Hallo Leute,

ich schreibe gerade mit Delphi 5.0 eine Software zur Ansteuerung einer Meßanlage, die über die serielle Schnittstelle mit dem Rechner verbunden ist.
Die Maschine sendet in gewissen Abständen Daten, die ich im Hauptfenster in einem String Grid darstellen möchte. Dazu muß ich die Schittstelle in einer Schleife ständig nach neuen Daten abfragen. Dies blockiert jedoch die Aktualisierung im Hauptformular. Deshalb sind die neuen Werte erst nach beendigung der Messung sichtbar...
Wie kann ich Delphi dazu veranlassen kurz ne Pause zu machen, damit der Fensterinhalt aktualisiert wird?

Vielen Dank im Voraus

Dragon

bei Antwort benachrichtigen
aaf Dragon (Anonym) „Aktualisierung eines Fensters mit Delphi“
Optionen

hi,
du fragst die schnittstelle mit nem timer ab, oder ? du kannst doch im selben timer den string grid aktualisieren....
oder du erstellst noch eine prozedur die für die aktualiesierung der form zuständig ist, und rufst sie nach jeder
messung auf...

pause machen kannst du indem du folgende prozedur in dein projekt integrierst, und sie dann mit delay(pauseinms)
aufrufst...

procedure TForm1.Delay(ms:integer);
var
FirstTCount:longint;
begin
FirstTCount:=GetTickCount;
repeat
Application.ProcessMessages; { Dieser Befehl gibt Systemressourcen für andere Programme frei, du kannst ihn
natürlich auch außerhalb dieser schleife benutzen. }
until ((GetTickCount-FirstTCount) >= Longint(ms));
end;

gruß aaf

bei Antwort benachrichtigen