Τρίτη, 24 Σεπτεμβρίου 2019

Ανάκτηση αρχείου σε αστοχία εκτέλεσης κατά την αποθήκευση.

Εδώ και πολύ καιρό προσπαθώ να βρω το bug που εμφανίζεται ως εξής:
Κατά το σώσιμο του προγράμματος όταν το πρόγραμμα υπάρχει ήδη μια φορά σωμένο, ανοίγει ένας διάλογος (msgbox) για να ρωτήσει αν θέλουμε να το σώσουμε ή όχι.  Ορισμένες φορές αντί να ανοίξει η φόρμα διαλόγου βγάζει πρόβλημα το σύστημα και ρίχνει το περιβάλλον.

Στην έκδοση 9.8 αναθεώρηση 45 δεν έχει βρεθεί ακόμα το bug (σχετίζεται με μια ασύγχρονη λειτουργία). Όμως έχει ξεπεραστεί το πρόβλημα με το σύστημα της πρόσκαιρης αποθήκευσης πριν την ερώτηση αν θέλουμε ή όχι να αποθηκεύσουμε πάνω στο παλιό.
Ισχύει ότι η αποθήκευση δημιουργεί ένα αρχείο τύπου bck για το παλιό αρχείο.

Πώς γίνεται η ανάκτηση:
Όταν λοιπόν πάμε να σώσουμε πρώτα σώνει το αρχείο με κατάληξη gsb1 και αν πέσει το σύστημα τότε: ανοίγουμε τον διερμηνευτή και φορτώνουμε το αρχείο, και το gsb1 αυτόματα μετονομάζεται με κατάληξη gsb. Στην ουσία αλλάζει τύπο στο gsb ως bck1 και γράφει το νέο στο gsb1 πριν το ερώτημα ώστε αν δηλώσουμε ότι δεν θέλουμε να γράψουμε στο αρχείο τότε το bck1 γίνεται πάλι gsb και διαγράφεται το gsb1.

Έχω προσπαθήσει να βρω το πρόβλημα χωρίς επιτυχία. Οι προσπάθειες συνεχίζονται. Σπάνια συμβαίνει αλλά.

Όταν με την Φόρτωση ή τη Load φορτώσουμε ένα αρχείο τότε αν αυτό υπάρχει το φορτώνει, αν όχι κοιτάει αν υπάρχει με κατάληξη gsb1 και αν ναι τότε πρώτα του αλλάζει τύπο σε gsb και μετά το φορτώνει.


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου