The present invention provides an active data type for use in a computer
program. The active data type has an identifier and at least one algorithm
associated therewith. The identifier is utilized by the computer program
to identify the instance of the active data type. The algorithm is
configured to be automatically executed when an attempt to access a value
associated with the active data type instance is made by a routine or
otherwise. When a particular routine that uses an instance of the active
data type attempts to access the value associated with the active data
type, the algorithm determines the value associated with the active data
type before the routine obtains access to the value. The active data type
may be a real, an integer, or a string, for example. The algorithm
automatically determines the current value associated with the active data
type instance. Preferably, the active data type has an identifier, a first
algorithm and a second algorithm associated therewith. The first algorithm
preferably automatically determines the current value of the instance of
the active data type when a routine that utilizes the value of the active
data type instance attempts to access the value. When the value of the
instance of the active data type is set, the second algorithm preferably
automatically post-processes the value to which the active data type
instance has been set. A locking/unlocking mechanism sets the value of the
active data type instance prior to the first algorithm invoking the
particular routine, suspends active data type algorithm processing while
the routine executes, and processes the value of the active data type
instance using the second algorithm once the routine has returned in order
to post-process any changes to the value of the active data type instance.
Η παρούσα εφεύρεση παρέχει έναν ενεργό τύπο στοιχείων για τη χρήση σε ένα πρόγραμμα υπολογιστών. Ο ενεργός τύπος στοιχείων συνδέει ένα προσδιοριστικό και τουλάχιστον έναν αλγόριθμο συνεπώς. Το προσδιοριστικό χρησιμοποιείται από το πρόγραμμα υπολογιστών για να προσδιοριστεί η περίπτωση του ενεργού τύπου στοιχείων. Ο αλγόριθμος διαμορφώνεται για να εκτελεσθεί αυτόματα όταν γίνεται μια προσπάθεια να προσεγγιστεί μια αξία που συνδέεται με την ενεργό περίπτωση τύπων στοιχείων από μια ρουτίνα ή ειδάλλως. Όταν μια ιδιαίτερη ρουτίνα που χρησιμοποιεί μια περίπτωση των ενεργών προσπαθειών τύπων στοιχείων να προσεγγιστεί η αξία που συνδέεται με τον ενεργό τύπο στοιχείων, ο αλγόριθμος καθορίζει η αξία που συνδέεται με τον ενεργό τύπο στοιχείων πριν από τη ρουτίνα λαμβάνει την πρόσβαση στην αξία. Ο ενεργός τύπος στοιχείων μπορεί να είναι ένας πραγματικός, ένας ακέραιος αριθμός, ή μια σειρά, παραδείγματος χάριν. Ο αλγόριθμος καθορίζει αυτόματα την τρέχουσα αξία που συνδέεται με την ενεργό περίπτωση τύπων στοιχείων. Κατά προτίμηση, ο ενεργός τύπος στοιχείων συνδέει ένα προσδιοριστικό, έναν πρώτο αλγόριθμο και έναν δεύτερο αλγόριθμο συνεπώς. Ο πρώτος αλγόριθμος κατά προτίμηση αυτόματα καθορίζει την τρέχουσα αξία της περίπτωσης του ενεργού τύπου στοιχείων όταν προσπαθεί να έχει πρόσβαση μια ρουτίνα που χρησιμοποιεί την αξία της ενεργού περίπτωσης τύπων στοιχείων στην αξία. Όταν η αξία της περίπτωσης του ενεργού τύπου στοιχείων τίθεται, οι δεύτερες μετα-διαδικασίες αλγορίθμου κατά προτίμηση αυτόματα η αξία στην οποία τα ενεργά στοιχεία δακτυλογραφούν την περίπτωση έχουν τεθεί. Ένα κλείδωμα/το ξεκλείδωμα του μηχανισμού θέτει την αξία της ενεργού περίπτωσης τύπων στοιχείων πριν από τον πρώτο αλγόριθμο επικαμένος την ιδιαίτερη ρουτίνα, αναστέλλει την ενεργό επεξεργασία αλγορίθμου τύπων στοιχείων ενώ η ρουτίνα εκτελεί, και επεξεργάζεται την αξία της ενεργού περίπτωσης τύπων στοιχείων χρησιμοποιώντας το δεύτερο αλγόριθμο μόλις επιστρέψει η ρουτίνα προκειμένου την μετα-διαδικασία οποιεσδήποτε αλλαγές στην αξία της ενεργού περίπτωσης τύπων στοιχείων.