Παρασκευή, 1 Ιουλίου 2016

Το μικρό εγχειρίδιο της Μ2000 (pdf) νέο 2-7-16

Το μικρό εγχειρίδιο της Μ2000
78 σελίδες με θέματα και προγράμματα σε Μ2000.

https://drive.google.com/open?id=0BwSrrDW66vvvS2lzQzhvZWJ0RVE


Δεν αντικαθιστά το εγχειρίδιο χρήσης που υπάρχει στο Blog και το οποίο θα εμπλουτίζεται. Είναι μια προσέγγιση με πίνακες όπου περιγράφεται η γλώσσα. Αυτά που περιγράφονται μπορούν να αναζητηθούν σε προγράμματα είτε που υπάρχουν στο κείμενο, είτε σε άλλα που βρίσκονται ήδη στο blog αυτό.

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

Ειδικά υπάρχει μια πρώτη αναφορά στο σύστημα παραθύρων της Μ2000. Θα ακολουθήσει ξεχωριστό κεφάλαιο (ή κεφάλαια δεν έχω καταλήξει σε αυτό ακόμα), όπου θα παρουσιαστούν όλες οι ιδιότητες και οι μέθοδοι των στοιχείων ελέγχου. Στο μικρό εγχειρίδιο αναφέρονται επιγραμματικά οι δυνατότητές τους, για να αποφύγω τη μεγάλη έκταση του εγχειριδίου.

Αναθεώρηση 11 (Έκδοση 8.2) - Αλλαγή μεγέθους Stack

Κάνοντας έλεγχο, που κράτησε μερικές μέρες, βρήκα κάτι στο οποίο δεν έχω λογική εξήγηση, αλλά διόρθωσε ένα θέμα.
Είχα αυξήσει το μέγεθος του stack του ΕΧΕ προγράμματος (που καλεί το m2000.dll) ώστε να μπορεί η Μ2000 στις συναρτήσεις να έχει αναδρομή μέχρι 14500 κλήσεις. (στις ρουτίνες η αναδρομή ορίζεται με την εντολή ΟΡΙΟ.ΑΝΑΔΡΟΜΗΣ και μπορεί να είναι πολύ μεγάλη, π.χ. 50000 κλήσεις και παραπάνω, επειδή οι ρουτίνες έχουν κλήσεις εντός αντικείμενου εκτέλεσης, με χρήση σωρού ξεχωριστού - ενώ οι συναρτήσεις και τα τμήματα έχουν η καθεμία αντικείμενο εκτέλεσης και αυτό επιβαρύνει το σύστημα, επειδή όλα αυτά χρησιμοποιούν τον ίδιο σωρό καταχώρησης "αυτόματων" μεταβλητών).
Το πρόβλημα που αντιμετώπισα ήταν με το WebBrowser control. Η Μ2000 έχει ένα μόνο WebControl πάνω στη κονσόλα και μπορεί να δείχνει σελίδες html. Το πρόβλημα είναι ότι ο σωρός κλέβει δεν ξέρω τι και δεν αφήνει το στοιχείο αυτό να δείξει φωτογραφίες (στην αρχή αυτό είδα) και μετά κατάλαβα ότι δεν αφήνει και τα βίντεο να παίξουν. Όσο μείωνα το σωρό τόσο εξαφανίζονταν τα προβλήματα. Έπρεπε να βρω το βέλτιστο, και ίσως το πέτυχα. Έτσι τώρα μπορούμε να ανοίξουμε το www.youtube.gr
Με την εντολή:
Αναλόγιο www.youtube.gr

άλλες εντολές:
Αναλόγιο "about:Hello"

δείτε Βοήθεια Αναλόγιο
Με το Esc κλείνουμε το αναλόγιο, (σε περίπτωση που το έχουμε σε φουλ οθόνη)

Επιπλέον έβαλα και ένα τρόπο να ενημερώνεται το σύστημα για το τρόπο emulation του στοιχείου (από την αρχή είναι για τον Explorer 6.0, και αυτό δεν είναι καλό).


Το μέγεθος Stack είναι τώρα στα 3375, πολύ μικρό σε σχέση με το 14500, αλλά πρακτικά δεν έχουμε ποτέ τόση μεγάλη αναδρομή.
Αν θέλουμε όμως μπορούμε με χρήση ρουτινών να έχουμε πολύ μεγαλύτερο αριθμό αναδρομών.
Επειδή το μέγεθος του σωρού το αλλάζουμε στο exe αρχείο, αν χρησιμοποιήσουμε το m2000.dll σε άλλο πρόγραμμα τότε ψευδώς θα νομίζει ότι έχει 3375 όριο αλλά μπορεί να πέσει.
Υπάρχουν οι παρακάτω εντολές που βοηθούν. Ο διακόπτης +REC βάζει το εξ ορισμού όριο (είναι γραμμένο στο dll), ενώ το -REC βάζει το 300
monitor
Διακόπτες "+REC"
Διακόπτες "-REC"
Μπορούμε μέσω του regedit να αλλάξουμε το όριο στο παρακάτω κλειδί
HKEY_CURRENT_USER\Software\m2000v5\funcdeep

Γ.Κ.