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
» Logiciel de planétarium.
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Jack Aujourd'hui à 10:03

» Un autre pense-bête...
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Version instantanée V 0.9.29i8 du 08/04/2019 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
Code promo Nike : -25% dès 50€ d’achats sur tout le site Nike
Voir le deal

 

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

Aller en bas 
5 participants
AuteurMessage
Jack
Admin
Jack


Nombre de messages : 2395
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 En ligne
Klaus

Klaus


Nombre de messages : 12331
Age : 75
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 : 12331
Age : 75
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 : 7017
Age : 74
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 : 12331
Age : 75
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 : 7017
Age : 74
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 : 2466
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 : 12331
Age : 75
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 : 7017
Age : 74
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 : 970
Age : 52
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 : 12331
Age : 75
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 : 2395
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 En ligne
Klaus

Klaus


Nombre de messages : 12331
Age : 75
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.29i7 du 15/03/2019
» 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 du 22 avril 2016 : PANORAMIC V 0.9.27i7
» Version instantanée du 2 juin 2016 : PANORAMIC V 0.9.27i8

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: