Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Threads und TBitmaps...schon wieder :-) (https://www.delphipraxis.net/214522-threads-und-tbitmaps-schon-wieder.html)

jaenicke 5. Feb 2024 18:36

AW: Threads und TBitmaps...schon wieder :-)
 
Locks dienen im Gegenteil eher dem Performancegewinn (oder hier eben anderen Zwecken), weil man damit verhindert, dass jemand "von der Seite reingrätscht". Langsamer wird es meistens eher nicht.

Benmik 11. Feb 2024 00:20

AW: Threads und TBitmaps...schon wieder :-)
 
Ich habe jetzt die Locks eingefügt. Ob es dadurch langsamer geworden ist, weiß ich nicht, aber ich habe dadurch den alten Code wieder durchgesehen und dabei eine völlig neue Erfahrung gemacht: Wenn man eine Bitmap freigibt, dann ist es immer gut, wenn man sie vorher erzeugt hat. Erst ein
Delphi-Quellcode:
Create
, dann ein später eingefügtes bedingtes
Delphi-Quellcode:
Exit
, danach ein unbedingtes
Delphi-Quellcode:
Free
- das ist nicht gut, auch ganz ohne multithreaded. Das
Delphi-Quellcode:
Create
hinter das
Delphi-Quellcode:
Exit
und weg sind die Exceptions. So einfach kann Programmieren sein.

jaenicke 11. Feb 2024 01:55

AW: Threads und TBitmaps...schon wieder :-)
 
Zitat:

Zitat von Benmik (Beitrag 1533284)
Wenn man eine Bitmap freigibt, dann ist es immer gut, wenn man sie vorher erzeugt hat.

Genauer gesagt: Wenn man sie zugewiesen hat, sprich mit nil initialisiert hat.

Solange die Variable entweder auf eine Bitmap verweist oder nil ist, ist es kein Problem ein Free aufzurufen, denn das prüft, ob Self <> nil ist.

Das Problem ist daher nicht das Free oder ein nicht immer aufgerufenes Create, sondern eine fehlende Initialisierung der Variablen.

himitsu 11. Feb 2024 12:14

AW: Threads und TBitmaps...schon wieder :-)
 
Wobei normal der Compiler dann ja auch einen Tipp geben würde, wenn die Variable nicht initialisiert wurde. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr.
Seite 2 von 2     12   

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