AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein viele Images zur Laufzeit laden und in Liste speichern
Thema durchsuchen
Ansicht
Themen-Optionen

viele Images zur Laufzeit laden und in Liste speichern

Ein Thema von Alex_ITA01 · begonnen am 28. Nov 2005 · letzter Beitrag vom 28. Nov 2005
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

viele Images zur Laufzeit laden und in Liste speichern

  Alt 28. Nov 2005, 16:29
Hallo erstmal,
ich erstelle mir zur Laufzeit wirklich viele kleine Images und speichere mir diese in einer TList.
Dies alles wird über eine For-Schleife realisiert. Bei jeden Durchlauf der For-Schleife erstelle (create) ich mir ein Image und ändere bestimmte Eigenschaften. Diese Images speichere ich in einer TList. Muss ich jetzt am Ende der For-Schleife wieder das selbst erstellte Image löschen (.free)?
Klingt irgendwie komisch aber ich glaube, wenn ich das nicht mache, dauert es ewig, eh die Anwendung startet...
Ich hoffe ihr könnt mir helfen.
MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: viele Images zur Laufzeit laden und in Liste speichern

  Alt 28. Nov 2005, 16:33
Du mußt es freigeben, da TList nicht nur Objekte speichern kann und deshalb keine Automatismus zur Freigabe hat.
TObjectList wäre besser geeignet. Man kann TObjectList so konfigieren da es selbständig die Freigabe der Zugewiesenen Objekte durchführt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#3

Re: viele Images zur Laufzeit laden und in Liste speichern

  Alt 28. Nov 2005, 16:42
das sieht in etwa so aus:

Delphi-Quellcode:
for i := 0 to 150 do
begin
  MeinImage := TMeinImage.Create;
  //Mache irgendwas mit MeinImage
  Liste.Add(MeinImage);
  //Hier jetzt MeinImage.Free und MeinImage := Nil???
end;
Die Liste brauche ich dann für später...
MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#4

Re: viele Images zur Laufzeit laden und in Liste speichern

  Alt 28. Nov 2005, 16:52
...mach es so, wie Bernhard es gesagt hat

Delphi-Quellcode:

...
 List := TObjectList.Create(True);
...


for i := 0 to 150 do
begin
  MeinImage := TMeinImage.Create;
  //Mache irgendwas mit MeinImage
  Liste.Add(MeinImage);
  //Hier jetzt MeinImage.Free und MeinImage := Nil???
end;


//und im Detroy
...
  List.free;
...
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Thorben86

Registriert seit: 20. Nov 2003
Ort: Brühl
365 Beiträge
 
Delphi 2005 Personal
 
#5

Re: viele Images zur Laufzeit laden und in Liste speichern

  Alt 28. Nov 2005, 16:59
Zitat von Alex_ITA01:
Muss ich jetzt am Ende der For-Schleife wieder das selbst erstellte Image löschen (.free)?
Wenn du das erstellte Image mit free löschst, kann doch auch die liste nicht mehr auf das Image(objekt) zugreifen, da es ja wieder gelöscht wurde. Die liste Speichert doch nur einen Pointer auf ein Objekt.

Hast du es denn schon Probiert, da du schreibst:
Zitat von Alex_ITA01:
Klingt irgendwie komisch aber ich glaube, wenn ich das nicht mache, dauert es ewig, eh die Anwendung startet...
Thorben
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#6

Re: viele Images zur Laufzeit laden und in Liste speichern

  Alt 28. Nov 2005, 17:16
Das Problem ist aber, dass es zur Laufzeit so "ruckelt" bzw. lahmt. Also im OnDestroy habe ich das .Free drinne. Diese Images enthalten noch zwei Timer. Könnte das das Problem sein?

MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  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 22:42 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