Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: FMX 10.4.2 : TRoundrect.canvas.endscene Crash

  Alt 25. Mai 2021, 16:08
Mit der Reihenfolge bringt scheinbar nichts.
ich habe die begin und endscene einmal auskommentiert. Es funktioniert auch ohne.
Es KANN funktionieren, muss aber nicht. Außerhalb des OnPaint-Events würde ich zudem die Verwendung von BeginScene wie folgt empfehlen:

Delphi-Quellcode:
  if Canvas.BeginScene then
  try
    Canvas.xxx //drawing image operations
    ...
  finally
    Canvas.EndScene;
  end;
So weißt Du, ob die Ausgabe möglich war oder nicht (und kannst im letzten Falle Maßnahmen ergreifen um einen erneuten Versuch zu starten).

Das ist übrigens ein weiterer Vorteil der Verwendung des OnPaint-Events: Da musst Du BeginScene nicht verwenden, da das System vor Aufruf des Onpaint-Events das selber macht und insofern IMMER sichergestellt ist, dass Deine Zeichenausgaben erfolgen.

Das Problem tritt auch nur beim starten auf.
Sobald die APP mal läuft und sichtbar ist funktioniert es einwandfrei.
Klar. Habe ja oben bereits erwähnt, dass die Ausgaben auf dem Canvas der From (das RoundRect ist nur ein Bereich auf der Form und teilt sich den Canvas mit der ganzen Form) flüchtig sind. Bevor die Form nicht sichtbar ist, gehen alle Zeichenaktionen ins Leere...
  Mit Zitat antworten Zitat