Einzelnen Beitrag anzeigen

Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#34

AW: Bitmap.Canvas -> Form.Canvas ... nix zu sehen

  Alt 11. Jul 2018, 18:40
Jetzt bin ich etwas verwirrt (überfordert...)
Hier mal auszugsweise die CREATE der besagten Unit:
Delphi-Quellcode:
constructor TDATA2.Create();
begin
  inherited Create;
  ...
  FParserThread := TParserThread.Create(Self);
  FParserThread.SuspendWork;
  FParserThread.Resume;
  ...
  FFont := TFont.Create;
  FFont.Name := 'Lucida Console';
  FFont.Size := 16;
  FFont.Style := [fsBold];
  FFont.Color := clWhite;
  ...
  FBMOSD := TBitMap.Create;
  FBMOSD.PixelFormat := pf32bit;
  FBMOSD.Canvas.Brush.Color := clBlack;
  FBMOSD.Canvas.Font.Assign(FFont);
  FTextHeight := FBMOSD.Canvas.TextHeight('X');
  FTextWidth := FBMOSD.Canvas.TextWidth('X');
  FBitmapWidth := FTextWidth * 40;
  FBitmapHeight := FTextHeight * 25;
  FBMOSD.Width := FBitmapWidth;
  FBMOSD.Height := FBitmapHeight;
  _FillRect(0, 0, FBitmapWidth, FBitmapHeight, clBlack);
  ...
end;
Zur Erinnerung:
FBMOSD wird NICHT im HauptThread oder von sonstigen Threads verwurstet, sondern lediglich in einer (zuvor jedoch IM Hauptthread erzeugten) separaten OSD-Form - extra nur (hilsfsweise) für diese Unit.
Hilft das weiter ?
  Mit Zitat antworten Zitat