Hallo,
der Fehler liegt in der Funktion _save, wenn man eine Datei mit FileOpen öffnet sollte man alle weiteren Dateioperationen mit dem Filehandle durchführen der von FileOpen zurückgegeben wird. Besonders die Funktion FileClose, den diese funktioniert nur mit dem Filehandle und kann nicht mit Dateinamen aufgerufen werden.
Richtig wäre deine Funktion so:
Spoiler anzeigen
Da aber $FO_APPEND der Standardmodus ist ginge auch folgendes:
Spoiler anzeigen
Bei dir wrd die Datei immer wieder geöffnet aber nie geschlossen und FileWrite schreibt direkt in die Datei.
kleiner denk fehler grosser effekt, achje, danke dir für Hilfe.
Ich habe dein Programm mal etwas geändert, jetzt wird nur noch einmal pro Datei geschrieben und die Ausgabe in die EditBox geschieht nur noch einmal je Pixelzeile. Dadurch wird dein Programm extrem beschleunigt.
Auch hier nochmals, danke. muss mir dass genauer ansehen :3
Nun solltest du nur folgendes bedenken, du führst bei jeden Pixel eine Schreiboperation auf die Festplatte aus. Bei einem Bild mit 4K Auflösung sind das dann ca. 9.000.000 Schreiboperationen. Wer also mal ein Testprogramm braucht, das testet ob eine SSD wirklich totgeschrieben werden kann, hier ist eins.
eh, ja das ist ein schwerpunkt, der mir bekannt war.