AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Threads und TBitmaps...schon wieder :-)

Threads und TBitmaps...schon wieder :-)

Ein Thema von calibra301 · begonnen am 24. Jan 2024 · letzter Beitrag vom 11. Feb 2024
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von jaenicke
jaenicke

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

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

  Alt 5. Feb 2024, 18:36
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
542 Beiträge
 
Delphi 11 Alexandria
 
#12

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

  Alt 11. Feb 2024, 00:20
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 Create , dann ein später eingefügtes bedingtes Exit , danach ein unbedingtes Free - das ist nicht gut, auch ganz ohne multithreaded. Das Create hinter das Exit und weg sind die Exceptions. So einfach kann Programmieren sein.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

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

  Alt 11. Feb 2024, 01:55
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.097 Beiträge
 
Delphi 12 Athens
 
#14

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

  Alt 11. Feb 2024, 12:14
Wobei normal der Compiler dann ja auch einen Tipp geben würde, wenn die Variable nicht initialisiert wurde.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.
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