Hi,
In meinem Programm gibt es mehrere Forms.
In einer macht man Eingaben, und in der zweiten werden dann eine Anzahl Bilder abhängig von den Eingaben erschaffen.
Ca. so:
Dabei ist Bild ein dynamischer Array von TImage.
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| setlength(bild, Eingabe); For i := 0 to (Eingabe -1) do begin bild[i] := TImage.Create(nil); bild[i].parent := self; |
Wenn man nun die Bilderform schliest, wird die Eingabeform wieder gezeigt und man kann neue Angaben machen.
Die Frage ist nur - was mache ich mit den bisherigen Bildern?
Ich habe es bisher so versucht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction); var count1: integer; begin Form1.show; For count1 := (Eingabe - 1) downto 0 do bild[count1].free; end; |
Allerdings bekomme ich bei mehrmaligem Ausführen die 'Accessviolation' - Fehlermeldung.
Die Bilder alle im Speicher liegen lassen bis Programmende will ich auch nicht, zumal man sie beim nächsten Aufruf der Bilderform noch sieht.
Wie könnte ich dieses Problem lösen?