Delphi-PRAXiS
Seite 6 von 6   « Erste     456   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bitmap.Canvas -> Form.Canvas ... nix zu sehen (https://www.delphipraxis.net/197007-bitmap-canvas-form-canvas-nix-zu-sehen.html)

TiGü 18. Jul 2018 19:59

AW: Bitmap.Canvas -> Form.Canvas ... nix zu sehen
 
Nichtsdestotrotz greifst du auf Ressourcen innerhalb des Kontextes deines Update-Threads zu, die ganz eindeutig zum Mainthread gehören.
Dazu wurde dir auf den vorigen Seiten genügend oft gesagt, dass man das nicht macht.
Das ist kein kurzes Anhalten in der Parkverbotszone, das ist ein Wenden auf der Autobahn.
Du musst zwingend mit TThread.Syncronize(nil,...) arbeiten.

TiGü 19. Jul 2018 09:41

AW: Bitmap.Canvas -> Form.Canvas ... nix zu sehen
 
Möglich wäre auch die Verwendung von TThread.Queue(nil...)

Delphi-Quellcode:
procedure TSourceThread.DoSendData;
begin
  FOwner.lbl_CountSource.Caption := IntToStr(FCounter);
  if Assigned(FSendData) then
    FSendData(FCounter);
end;

procedure TSourceThread.Execute;
begin
  inherited;
  while not Terminated do
  begin
    if (WaitForSingleObject(FEvent, INFINITE) = WAIT_OBJECT_0) and not Terminated then
    begin
      TThread.Queue(nil, DoSendData);
      Sleep(50 + Random(200));
      Inc(FCounter);
    end;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 Uhr.
Seite 6 von 6   « Erste     456   

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