Einzelnen Beitrag anzeigen

eticket

Registriert seit: 30. Aug 2007
17 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: Aktuelle Daten der seriellen Schnittstelle anzeigen

  Alt 1. Sep 2007, 21:25
Sorry, ich verstehe es nicht.

Anbei die Quellcode-Teile

Delphi-Quellcode:
Thread.pas
...
type
  Messung = class(TThread)
  private
    { Private-Deklarationen }
  protected
    procedure Execute; override;
  public
    ComHandle : THandle;
  end;

...

procedure Messung.Execute;
...
buffer_len:=ReadDataFromCOMPort(ComHandle,buffer);
...
while frames in buffer do
...
   refreshValues(self)   <- Diese Funktion soll im Hauptprogramm die Werte aktualisieren
...

---------------------------------------
unit1.pas:
...
procedure TForm1.StartClick(Sender: TObject);
begin
     ComHandle := 0;
              // Verbindung aufbauen
     ok := ConnectToCOMPort(ComHandle,42, 4);

     if ok = 0 Then
     begin
          Start.Enabled := False;
          Stop.Enabled := True;

              // ErfassungsThread starten
              // Dieser aktualisiert auch die Oberfläche
          DatenerfassungsThread.ComHandle := ComHandle;
          DatenerfassungsThread.Resume;

     end;
              // Verbindung beenden
     ok := DisconnectFromCOMPort(ComHandle);
end;

procedure TForm1.StopClick(Sender: TObject);
begin
     Start.Enabled := True;
     Stop.Enabled := False;
     DatenerfassungsThread.Suspend;
end;

procedure TForm1.RefreshValues(Sender: TObject);
Var j: Integer;
begin
     laenge.Text := IntToStr(buffer_len);
     checksumme.Text := IntToStr(ist_checksumme);
...
end;
In Ergänzung dazu:
Wie kann ich die Daten aus dem Thread an das Hauptprogramm zurückgeben?
  Mit Zitat antworten Zitat