Seite 7 von 7

Verfasst: 21.11.2006 01:35
von Delle
Wird das Programm nun noch weiterentwickelt?

Das Problem mit den versehentlich gelöschten Kategorien tritt ja immer noch auf... klar gibt's dafür jetzt den Backup-Ordner - trotzdem ist es nervig.

Hatte ja vorgeschlagen, die Löschabfrage auch wirklich nur abzufragen, wenn das Fenster aktiv ist und nicht im Tray oder minimiert.

Außerdem wie kann es sein, dass auf einmal eine komplette Kategorie leer ist, die Datei also 0 Byte hat?

Verfasst: 21.11.2006 14:56
von Frogger
@Delle
Danke für den Hinweis. Diese Probleme traten bei mir seit der letzten Version nicht auf deswegen konnte ich nicht wissen dass sie immer noch vorhanden sind.
Hab jetzt noch einige zusätzliche Sicherheitsabfragen eingebaut und ich denke es sollte jetzt gehen.
Die aktuellste Version ist 1.14!

Warum er manchmal Kategorien, in denen vorher was gestanden hat, leer abspeichert kann ich nicht genau sagen.
Aber das kam früher bei mir auch ab und zu vor.
Ich habe z.Z. ca. 40 Kategorien bei NotEx und es kam schon lange nicht mehr vor dass eine davon leer gespeichert wurden.
Aber vorsichtshalber hab ich da einen MD5 Vergleich zwischen der vorherigen Kategorie und des aktuellen Inhaltes im Editorgadget eingebaut. Der Inhalt wird jetzt nur noch gespeichert wenn sich auch wirklich was geändert hat. (vorher wurde bei jedem Wechsel in eine andere Kategorie gesaved)
Das vermindert die Anzahl der Speichervorgänge und das Risiko, dass dabei etwas schief läuft. (hoffe ich :) )

Weis jemand wie man leicht (und sicher) eine Änderung im Editorgadget feststellen kann? Hab dazu nichts gefunden.

Verfasst: 21.11.2006 15:03
von Tafkadasom2k5
..also ganz sontan fällt mir dazu Subclassing ein. Ich weiß leider nicht so auf Anhieb, welche Messages das Editor-Gagdet zurück gibt, aber it Subclassing bekommst du garantiert alle...

Gr33tz
Tafkadasom2k5

P.S.:
Vielleicht gehts auch schon, wenn du in deinem WindowEvent() die #WM_CHAR - Notify abfängst..

Ich habe jetzt nur nicht auf dem Schirm, ob du im Fenster-Callback die Nachricht erhälst, wenn du im Editorgadget was änderst, oder ob nur das Gadget diese Notify erhält. Falls letzteres zutrifft, musst du wohl oder übel subclassen...

Verfasst: 06.12.2006 02:35
von Delle
Na super... jetzt war schon wieder eine Kategorie auf einmal leer!

Keine Ahnung woran es lag, die Kategorie war jedenfalls komplett leer (0 Byte Dateigröße).

Das ist ärgerlich, wenn man einen Batzen Notizen für den restlichen Monat verliert... ist mir leider zu unzuverlässig, werd wieder auf einzelne Textdateien umsteigen müssen :-(

Verfasst: 06.12.2006 18:27
von Frogger
@Delle
Es tut mir leid dass es wieder passiert ist. :(
Aber ich kann mir das nicht erklären.
Hab eigentlich alle erdenklichen Sicherheitsabfragen eingebaut
und wie gesagt, bei mir ist sowas noch nie in den letzten Versionen passiert /:->

Hab schon die gröbste Bedienung ausprobiert
(z.B. andauernd mit Up/Down alle Kategorien rauf und runter probiert und ständiges editieren und Kategoriewechsel u.s.w.)
aber nichts hat dazu geführt, dass eine Kategorie leer abgespeichert wurde :?
Ich benutze auch keine Threads, die evtl. einen Vorgang stören.
Der einzigste Thread, den ich nur einmal am Anfang des Programms starte, ist die automatische Updateüberprüfung (falls eingeschaltet)

Kurz gesagt, ich kann dieses Fehlverhalten nicht reproduzieren.
Kannst du mir bitte so genau wie möglich beschreiben bei welchen Situationen dieser Fehler auftitt?

//EDIT
Achja und könntest du bitte den Inhalt der Datei "Prefs.ini" hier posten? (zu finden im Programmordner)
Evtl. hängt es irgendwie mit den Einstellungen zusammen

Verfasst: 07.12.2006 10:32
von Delle
Hallo,

hab leider den Ordner jetzt nicht mehr...

Vermutlich ist die jeweilige Kategorie (=Datei) geöffnet und bei einem Win-Crash ist sie dann "leer".

Das Löschen-Problem mit "Entf" trat ja bei der neuen Version nicht mehr auf, damit hat's auch nichts zu tun.

Verfasst: 07.12.2006 11:46
von NicTheQuick
Vielleicht bringt FlushFileBuffers() irgendwo was und die OnError-Lib? Wenn
das Programm abstürzt, werden in der OnError-Callback-Procedure dann
noch alle offenen Dateien abgespeichert und geschlossen.