Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.360 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Aktualisierung und SendMessage

  Alt 26. Okt 2013, 10:44
Ich würde die Kommunikation asynchron per Thread machen und die graphische Aktualisierung synchronisieren. Das funktioniert auch beim Verschieben eines Fensters problemlos, zumindest unter Windows 8. Testbeispiel von mir eben (nicht schön, nur zum Test):
Delphi-Quellcode:
type
  TTest = class(TThread)
  protected
    procedure Execute; override;
  end;

  TForm18 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form18: TForm18;

implementation

{$R *.dfm}

procedure TForm18.Button1Click(Sender: TObject);
begin
  TTest.Create(False);
end;

{ TTest }

procedure TTest.Execute;
begin
  while not Terminated do
  begin
    TThread.Synchronize(nil, procedure
      begin
        Form18.Canvas.LineTo(Random(Form18.ClientWidth), Random(Form18.ClientHeight));
      end);
    Sleep(100);
  end;
end;
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat