FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Form(résolu)
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar leclode Aujourd'hui à 17:59

» trop de fichiers en cours
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Marc Aujourd'hui à 11:42

» Bataille navale SM
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -20%
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, ...
Voir le deal
399 €

 

 Version instantanée V 0.9.29i8 du 08/04/2019

Aller en bas 
5 participants
AuteurMessage
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyLun 8 Avr 2019 - 20:05

La version instantanée V 0.9.29i8 du 08/04/2019 est disponible au téléchargement.

Les améliorations par rapport à la version instantanée V 0.9.29i7 du 15/03/2019 sont:

- Nouvelle variable système ADR_VARTAB qui fournit l'adresse d'un tableau contenant les adresses d'autres tableaux menant aux variables Panoramic
L'utilisation de cette variable est assez complexe et sera utilisée par la DLL de Klaus

Correction de 2 bugs:
- OFF_ACTIVATE était inactif sur FORM0
- les CARET des objets de FORM0 disparaissaient (par exemple MEMO ou SYNEDIT) après un ON_ACTIVATE, désactivation puis réactivation de FORM0

_________________
Version instantanée V 0.9.29i8 du 08/04/2019 Webdav username : panoramic@jack-panoramic password : panoramic123


Dernière édition par Jack le Mar 9 Avr 2019 - 11:49, édité 1 fois
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyLun 8 Avr 2019 - 21:51

Merci beaucoup, Jack ! Je prends immédiatement !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyLun 8 Avr 2019 - 23:37

Avec le code suivant:
Code:
message str$(ADR_VARPTR)
end
J'ai le message d'erreur suivant:
Citation :
(52) Not correct string expression: .Line: 1
Et je suis bien en version V0.9.29i8 du 08 04 2019.

ADR_VARPTR est bien le nom de la variable ? J'ai cherché dans la mémoire - elle n'y est pas...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 6996
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyMar 9 Avr 2019 - 0:58

Peut-être s’agit-il d’une question de syntaxe ?
ADR_VARPTR nécessite-t-elle un certain paramètre ? Un nom de tableau ou d’une variable ?

Jack, un petit code exemple pour montrer comment utiliser  cette variable système, SVP !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyMar 9 Avr 2019 - 1:11

@Papydall:
Non, normalemement, il n'y a pas de paramètres pour une variable système. Regarde NUMBER_CLICK, DATE$ etc.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 6996
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyMar 9 Avr 2019 - 2:44

Jack a écrit:
L'utilisation de cette variable est assez complexe et sera utilisée par la DLL de Klaus
Wait and see !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2380
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyMar 9 Avr 2019 - 10:02

Peut-être ADR_VARTAB ?
Spoiler:
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyMar 9 Avr 2019 - 10:06

Oups... Merci, Marc ! Comment ai-je pu me planter à ce point ? Désolé pour cette fausse alerte !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 6996
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyMar 9 Avr 2019 - 14:02

J’essaye de comprendre ADR_VARTAB

Code:

rem ============================================================================
rem            J’essaye de comprendre ADR_VARTAB
rem ============================================================================
dim i
alpha 1 : top 1,10 : left 1,100 : font_bold 1
caption 1,"ADR_VARTAB : " + str$(adr_vartab) + " et valeurs des cases mémoires suivantes"

memo 10 : left 10,50 : height 10,300 : width 10,50 : top 10,50
for i = 0 to 20
    item_add 10, peek(adr_vartab + i)
next i
memo 20 : left 20,150 : height 20,300 : width 20,50 : top 20,50
dim t(5)
for i = 0 to 20
    item_add 20, peek(adr_vartab + i)
next i
memo 30 : left 30,250 : height 30,300 : width 30,50 : top 30,50
dim w(17)
for i = 0 to 20
    item_add 30, peek(adr_vartab + i)
next i
dim x,y,z
font_bold 0
memo 40 : left 40,350 : height 40,300 : width 40,50 : top 40,50
for i = 0 to 20
    item_add 40, peek(adr_vartab + i)
next i
dim a$,b$,c$,d$,e$,f$,g$
memo 50 : left 50,450 : height 50,300 : width 50,50 : top 50,50
for i = 0 to 20
    item_add 50, peek(adr_vartab + i)
next i

print_locate 500 ,105 : print "<========="
rem ============================================================================


Observez la 5ème ligne des MEMOs.
Elle contient les valeurs de la 4ème case mémoire après ADR_VARTAB.
Les différences sont 1, 1, 3, 7 qui correspondent aux différents DIMs :
DIM 1 variable
DIM 1 variable
DIM  3 variables
DIM 7 Variables

Spoiler:
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyMar 9 Avr 2019 - 20:29

Les corrections apportées fonctionnent parfaitement. cheers
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptySam 13 Avr 2019 - 2:16

@Jack:

Je localise la table des symboles au chargement de KGF.dll, avant tout autre opération. J'arrive à la trouver, par le mcanisme suivant:
1. recherche de "DATE$" dans la mémoire virtuelle
2. recherche d'un mot contenant l'adresse du début de cette chaîne, dans la mémoire virtuelle
==> j'obtiens le début de l'élément pour la variable DATE$
3. recherche en arrière case par case (longueur de 26 mots) jusqu'à ce que je tombe sur une case de valeur zéro
4. retour en avant de 26 mots ==> j'ai l'adresse du début de la table de symboles (TV).
Note: je sais que cette valeur est dynamique, du fait de son adresse sur le heap.
5. recherche en avant case par case (longueur de 26 mots) jusqu'à ce que je tombe sur une valeur zéro, en comptant les cases ==> je suis à la afin de TV et j'obtiens 55 variables, avec la présente version.
6. au cours de cette recherche en avant, je compare le nom de chaque variable avec 'ADR_VARTAB'.
==> je trouve cette variable en 24ème place.

Jusque là, tout va bien. Maintenant, je veux prendre le contenu de cette variable afin de récupérer l'adresse du tableau VarTab que tu as créé pour moi (MERCI !). Or, la valeur dans la case Var_Rel est zéro. Voici le dump de cet élément:
Version instantanée V 0.9.29i8 du 08/04/2019 Aa118
Il y a bien l'adresse du nom qui pointe sur le nom de la variable, et le type 3 (flottant). Le reste est zéro. Pourquoi ? Je m'attendais à y trouver la valeur que je trouve si je fais
Code:
message hex$(ADR_VARTAB)
en Panoramic. Or, il n'en est rien. Pourquoi cette valeur ne figure-t-elle pas dans la position Var_Rel ? Pour moi, elle devrait se trouver à l'offset 20 (décimal)...

EDIT 14/04/2019 à 0:29:
La raison pour laquelle je fais cela, c'est pour pouvoir détecter automatiquement l'adresse de VarTab, lors du chargement de la DLL, sans avoir besoin d'obliger le programmeur d'appeler une fonction spéciale pour passer la valeur de ADR_VARTAB en paramètre.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyLun 15 Avr 2019 - 6:22

Klaus a écrit:
Il y a bien l'adresse du nom qui pointe sur le nom de la variable, et le type 3 (flottant). Le reste est zéro. Pourquoi ? Je m'attendais à y trouver la valeur que je trouve si je fais
Code:
message hex$(ADR_VARTAB)
en Panoramic. Or, il n'en est rien. Pourquoi cette valeur ne figure-t-elle pas dans la position Var_Rel ?

ADR_VARTAB est une variable système et à ce titre, elle est déclarée comme variable dans la table des variables TV de Panoramic.
Mais comme toutes les variables systèmes, sa valeur n'est pas mémorisée dans cette table.

Cette table ne sert que pour mémoriser son nom et son type et éviter ainsi une erreur de syntaxe lors de l'analyse du source. En Delphi, comme je l'ai déjà dit, une variable système est une fonction qui retourne une valeur lorsque le contenu de la variable est demandée.

Prenons l'exemple de TIME$. Il serait inutile de stocker en mémoire la valeur de l'heure. La valeur de l'heure est obtenue par l'appel d'une API qui renvoie l'heure lorsque TIME$ est rencontrée dans une expression, mais l'heure n'est jamais stockée dans le tableau TV. De même, quand ADR_VARTAB est rencontrée dans une expression, le contenu de cette variable est renvoyé, mais pas stocké.

Par contre, pour des variables déclarées par l'utilisateur, la valeur est bien-sûr stockée.

On ne fait jamais une affectation d'une variable système. TIME$= quelque chose n'a pas de signification, mais on utilise TIME$

_________________
Version instantanée V 0.9.29i8 du 08/04/2019 Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 EmptyLun 15 Avr 2019 - 11:02

Merci, Jack, pour ces explications.

Dommage, car cela rend impossible de détecter la table de symboles de façon automatique, lors du chargement de la DLL. Cela impose une fonction spécifique par laquelle le programmeur passe la valeur de ADR_VARTAB à la DLL, ce que j'essayais d'éviter.

Bon, je vais changer mon fusil d'épaule et poursuivre cette autre voie...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Version instantanée V 0.9.29i8 du 08/04/2019 Empty
MessageSujet: Re: Version instantanée V 0.9.29i8 du 08/04/2019   Version instantanée V 0.9.29i8 du 08/04/2019 Empty

Revenir en haut Aller en bas
 
Version instantanée V 0.9.29i8 du 08/04/2019
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Version instantanée V 0.9.29i9 du 18/07/2019
» Version instantanée V 0.9.29i6 du 08/01/2019
» Version instantanée V 0.9.29i7 du 15/03/2019
» version instantanée V 0.9.28i16 du 21/03/2018
» Version instantanée du 22 avril 2016 : PANORAMIC V 0.9.27i7

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Ce qui est en cours ...-
Sauter vers: