andoh_wilfried Le 30/07/2005 à 12:35Edité par andoh_wilfried le 25/10/2005 à 11:32 Fonctions en cours d'implémentation:
------------------------------------
J'ai commencé à implémenter des fonctions qui permettent de déplacer un pointeur à
l'intérieur d'une variable. En l'occurence il s'agit des varibles de type LISTE/MATRIX.
Ces fonctions servent à créer une variable virtuelle par restriction d'une variable réelle.
En clair ça va éviter de faire des 'left','right','midl','sublist', 'submat' sur les types
LISTE/MATRIX, lorsqu'on ne veut utiliser qu'un sous ensemble les valeurs définies dans ces
variables.
voici les fonctions que je suis en train d'implémenter :
[PRE]
- Déclaration de la table des Pointeurs sur une variable:
DefPtr( "Varname", Count )
SetPtr( "*NamePtr1", SkipArg )
SetPtr( "*NamePtr2", SkipArg )
.
.
.
EndPtr()
- Modification de Pointeurs:
MovePtr( "*NamePtr", SkipArg )
CopyPtr( "*NamePtr1", "*NamePtr2")
- Suppression de la table de Pointeurs d'une variable:
DelPtr( "Varname")
[/PRE]
Les nouvelles variables sont utilisables au même titre que les variables de la VAT.
J'espère que vous avez remarqué qu'elles commencent toutes par '*'.
Bien sur, on pourra utiliser 'CopyPtr(' et 'MovePtr(' en plus de 'SetPtr(' dans le
Bloc de la déclaration du pointeur. D'ailleurs, ce sont les seules fonctions autorisées
par la ExtLiB dans le Bloc. Par contre les instructions Ti-Basic y sont autorisées.
Mince, alors; je viens de me rendre compte que le fait d'avoir créer des extensions de type
programme m'empêche de les appeller dans les fonctions utilasateurs Ti-Basic.
Je vais être obligé de faire uniquement des extensions de type fonctions même si le code est censé ne retourné aucune valeur.
je vais donc retourne 0 systématiquement si l'on appelle un programme en Ti-Basic.
Comme cela, j'éviterai la restriction Ti-Basic qui empêche d'appeller des programme dans une fonction utilisateur.
j'ai preos et poutant ça fonctionne pas les appels au programmes dans les fonctions.
Ben oui...
Super, l'idée d'une extension kernel-based (c'est à dire non native) au langage natif de la machine...
En effet.
Il reste j'avais mis UniOS 1.14 comme protection anti-crash, et que puisque je n'ai rien changé d'autre pendant cette courte période, je ne vois pas quel autre ensemble de programmes aurait pu être responsable des crashes... S'il y a eu des versions suivantes d'UniOS, ce n'est pas pour rien, si :P ?
J'ai depuis des années KerNO comme protection anti-crash (sur laquelle j'ai trouvé deux bugs graves, d'ailleurs), et l'uptime de la calculette est supérieur à la durée d'un jeu de piles depuis que j'utilise HW3Patch qui enlève le bug stupide de la trap #4 / trap #B.
Au fait comment fait Preos pour autoriser l'appel des programmes dans le fonctions ?
J'ai mal au coeur d'être obligé de faire retourner zéro au programmes.
ça ralenti énormément mon soft
il intercepte l'erreur (Line 1010 Emulator), voit que c'est cette erreur-là, et fait croire au TIOS qu'il n'y a pas d'erreur -> le programme continue à tourner normalement

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
PpHd Le 02/08/2005 à 12:20 Oue. Lors de la tokenisation pour les commandes inaccessibles aux fonctions.
Mais apres reflexion, il doit y en avoir aussi lors de l'execution.
andoh_wilfried Le 06/08/2005 à 17:54Edité par andoh_wilfried le 08/08/2005 à 12:32 Compte tenu surtout du fait que je n'ai pas eu de Beta-testeur, et que je me trouve dans l'impossibilite materiel de continuer
a develloper ce software qui je pensait allait susciter un peu d'enthousiasme chez les codeurs basic, je me vois dans l'obligation de suspendre son developpement pour une periode indeterminee. je suis en voyage.
Le lien direct vers la Beta a ete retire. vous pouvez neanmoins la telecharger sur TI-FR ou TI-GEN.
Je precise qu'un bug mineur "Protected Memory Violation" n'entrainant pas de crash a lieu dans le seul cas suivant :
** indirection recursive c'est-a-dire vers une variable de type chaine contenant elle meme une indirection
** le filtre pour la fonction 'folder(' ne fonctionne pas
** oublie de declaration globale de la variable utilisee par la fonction 'test('
La notice quoi qu'exploitable manque de precision sur les valeurs de retour des fonctions de recherche.
Voila, tout est dit. Si je trouve un peu de temps j'essairai d'upload une release pour le cas ou cela interesserait certains.
Mais bon faut pas compter de suite ; j'ai pas de PC sous la Main.
Ne lache pas ce projet. C'est super de pouvoir ajouter des tokens au basic. y'a moyen de coder des libs de tokens basic en utilisant ton prog actuel comme noyau basic qui sert à ajouter les fonctions provenant de ces libs. Les possibilités sont énormes.
Le probleme c'est que la librairie est deja enorme. on tourne a 40Ko presque pour 90 fonctions environ et ce n'est pas fini.
Alors on va se faire rattraper de de suite par la limitation du TiOS. C'est sure ca va etre plus rapide quand j'aurai fait une Gestion des pointeurs en creant une autre VAT.
Pqr contre ca ne rajoute pas de token au baisc il me semble a moins que je ne me trompe; ca rajoute des fonctions et des programmes comme pour un programme basic. C'est en fait une flash apps temporaire.
Le pied ca serait d'en faire une vrai fash appps
Sinon a a#part cela, je traine actuellement a londres sur 'New Oxford Street'
> Le pied ca serait d'en faire une vrai fash appps
Ca veut dire passer au compilo vilain de chez TI...