Δευτέρα, 18 Δεκεμβρίου 2017

Αναθεώρηση 29 'Εκδοση 9.0 (Σχεδόν Τελική)

Σε αυτήν την αναθεώρηση διόρθωσα ένα σφάλμα στις υπερκλάσεις, όπου η αντιγραφή ομάδας από πίνακα δεν μετέφερε τον δεσμό με την υπερκλάση.

Έχουν προηγηθεί οι αναθεωρήσεις 28 και 27, όπου έγινε εμπλουτισμός κύρια για το τι γίνεται όταν συμβαίνει λάθος. Γενικά με το λάθος πρέπει να σταματάει η εκτέλεση, όμως επειδή δουλεύουν και συναρτήσεις που καλούνται από γεγονότα ενδέχεται το λάθος να βγει σε αυτές και με τις αναθεωρήσεις 27 και 28 έκανα τον διερμηνευτή να σταματάει, και να δείχνει τουλάχιστον λεκτικά που και τι λάθος έγινε. Επίσης σε αυτές τις αναθεωρήσεις έκανα τον διερμηνευτή να σταματάει όταν για παράδειγμα ζητάμε εισαγωγή αριθμού στη κονσόλα ενώ έχουμε φτιάξει ένα παράθυρο και σε αυτό τρέχουμε μια συνάρτηση γεγονότος με λάθος.  Ουσιαστικά έκανα τις εντολές Εισαγωγή (που περιμένει αλφαριθμητικό ή αριθμό) και την Κομ$ που περιμένει πλήκτρο να βλέπουν αν έχει συμβεί λάθος και αν ναι να τερματίζουν (ενώ παλιά περίμεναν πρώτα να δώσουμε τιμή).
Εκτός από τις περιπτώσεις των γεγονότων, ο διερμηνευτής όταν βρίσκει λάθη δίνει στο shift +F1 την εντολή που θα ανοίξει ο κώδικας και θα μας πάει στο λάθος. Για να το κάνει αυτό υπολογίζει την θέση και φτιάχνει διαδοχικά αθροίσματα βάσει πληροφοριών που υπάρχουν στο κώδικα!

Η θέαση του κώδικα καθώς εκτελείται γίνεται από ανεξάρτητο σύστημα, και μπορεί να δείχνει κώδικα που τρέχει σε νήματα, ενώ δεν δείχνει το κώδικα που τρέχουν οι συναρτήσεις γεγονότων από το γραφικό περιβάλλον, κύρια για να μην υπάρχουν καθυστερήσεις, αφού τα γεγονότα τα γεννάει το σύστημα των Windows, και μεταφέρονται σε γλώσσα script, οπότε ήδη επιβαρύνεται το σύστημα με την καθυστέρηση εκτέλεσης της Μ2000.τελος Μπορούμε να έχουμε την θέαση εκτέλεσης, με την εντολή Δοκιμή ή με πλήκτρα όπως ctrl+G (παίζουν όλα τα γράμματα που δεν έχουν άλλη συσχέτιση).

Η 29η αναθεώρηση θεωρείται τελική (εκτός αν προκύψουν προβλήματα, οπότε λέμε καλύτερα σχεδόν τελική).