Einzelnen Beitrag anzeigen

Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: PNGImageList zu langsam / Alternative gesucht

  Alt 24. Jan 2008, 21:27
Bin den Code per Debugger durchgegangen und dort wurde nach jeder Einfügeoperation die Update-Methode der TPngImageCollectionItems aufgerufen:
Delphi-Quellcode:
procedure TPngImageCollectionItems.Update(Item: TCollectionItem);
begin
inherited Update(Item);
if FOwner is TPngImageList
then TPngImageList(FOwner).CopyPngs;
end;
wobei CopyPngs so aussieht:

Delphi-Quellcode:
procedure TPngImageList.CopyPngs;
var
   I: Integer;
   Png: TPNGObject;
   Icon: HIcon;
begin
//Are we adding a bunch of images?
if FLocked > 0
then Exit; {... danach werden alle PNGs neu erstellt}
...dann erst hab ich die Methoden BeginUpdate und EndUpdate entdeckt, hatte vorher keine Ahnung.

Zitat:
Ist das unter Delphi gängige Praxis
Ja, wenn mehrere Datensätze sich ändern, ohne dass die View (also Formulare usw) darauf reagieren soll, sollte man diese Methoden verwenden. Man findet sie z.B. auch in TListItem oder TStrings.
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat