AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

List of Tbitmaps gleichzeitig bearbeiten

Ein Thema von bernhard_LA · begonnen am 21. Jul 2021 · letzter Beitrag vom 25. Jul 2021
Antwort Antwort
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: List of Tbitmaps gleichzeitig bearbeiten

  Alt 21. Jul 2021, 13:54
die laufvariable "i" ist möglicherweise nicht gesetzt.
Meines Wissens bietet ForEach keine Laufvariable an die genutzt werden könnte um i mit einem validen Wert zu belegen.


Das war mumpitz.

Delphi-Quellcode:
  Parallel.ForEach(0, High(somerecords)).Execute(
    procedure(const i: Integer)
    begin
      somerecords[i].bmp := TBitmap.Create;
      Berechne1Bild(i, somerecords[i].bmp);
    end );
Grüße
Klaus
Klaus

Geändert von Klaus01 (21. Jul 2021 um 14:03 Uhr)
  Mit Zitat antworten Zitat
jus

Registriert seit: 22. Jan 2005
350 Beiträge
 
Delphi 2007 Professional
 
#2

AW: List of Tbitmaps gleichzeitig bearbeiten

  Alt 21. Jul 2021, 13:56
Ich glaube, dass TBitmap nicht threadsafe ist. Es gibt noch so eine Hilfe mit CoInitialize oder so, hat bei mir zwar Verbesserungen gebracht, aber bei meinem letzten Vorhaben mit der OTL iVm. TBitmap habe ich es auch nicht 100% hingekriegt. Baue den CoInitialize mal bei dir ein, vielleicht hilft es bei dir. Letztendlich habe ich es letztes Mal so gelöst, dass ich das Bild in dem Thread mit TBitmap, das in dem Thread erzeugt wurde, bearbeitet und das Endergebnis in einem Stream geschrieben habe. Im Hauptthread habe ich den Stream wieder in TBitmap eingelesen. Aber genaueres können sicherlich hier im Forum ein paar Wissende es detailierter erklären.

Geändert von jus (21. Jul 2021 um 14:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
752 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: List of Tbitmaps gleichzeitig bearbeiten

  Alt 25. Jul 2021, 12:58
TBitmap ist hier vermutlich der Übeltäter. Wenn nicht irgendwas von TBitmap ganz dringend gebraucht wird würde ich darauf verzichten.

Ich verwende zum bearbeiten von Bildern in Threads eine ganz simple Klasse in der die Bilder als RGBA (32Bit) array stecken.

Wer alles braucht was man sich vorstellen kann sollte sich GR32 ansehen.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:50 Uhr.
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