Forum Rules Remarque importante:

Lorsque vous postez un probléme en relation avec ABAL ou WABAL, merci de préciser la version utilisée, le systéme d'exploitation d'exécution, la version du CRITERIA et la version de l'executeur ainsi que toutes informations permettant de connaitre le contexte d'execution . cela evite de poster un message pour vous demander ces précisions !!!

Pages: (3) [1] 2 3   ( Go to first unread post ) Reply to this topicStart new topicStart Poll

> Overlay mon amour...
LLC
Posted: 10/07/06 12:54
Quote Post


Hyper User
*****

Group: Membre
Posts: 595
Member No.: 30
Joined: 18/06/02
Submissions: None Submitted
Downloads: 1



Bonjour à tous , en ces temps de pseudo vacances c'est la ou les pov' programmeurs ont lle temps de faire un peu de recherches...

Mon idée est donc de transferer mes procédures de bases communes à nombre de mes applis en un OVERLAY :D

J'ai suivi un peu les exemples données dans screener mode zat ainsi que les discussions ici-meme mais j'avoue que ce n'est pas complètement clair dans ma (petite) tête :lol:

Je veux donc regrouper un ensemble de procédures dans un overlay , jusque là rien de plus banale , mais il faut aussi partagé un ensemble de variables globales,qui sont aussi des fichiers (SI pour moi en loccurence).


je reprends l'exemples du ZAT

PTR VAR$=10 ; ici les 2 pointeurs 1 pour les proc l'autre pour les variables
FIELD=M,VAR
PTR PROC TABPROC(512) ; ici les 512 procédures...
PTR VARGLOB$=256 ; ici je sais pas... 256octets de varglobal?

lire les commentaires et me précisez éventuellement si je dis pas de betises

pour la fonction qui attache

assign=64,"overlay.at"
attach=TABPROC(64) ; la j'ai rien compris moi j'aurais fait : TABPROC(1) NON?

et pour VARGLOB comment ca marche l'attachement?

Merci pour vos commantaires

@+
PMEmail PosterUsers Website
Top
root
Posted: 10/07/06 14:51
Quote Post


God of the forum
*******

Group: Admin
Posts: 6101
Member No.: 2
Joined: 10/05/02
Submissions: 10 
Downloads: 19



yves churlet a indiqué il y a peu de temps qu'il existait effectivement un pointeur sur les procedure et un pointeur sur les données;
moi je n'ai jamais entendu parlé de ce pointeur sur les données
D'aprés ce que j'ai compris c'est expliqué dans une documentation du zat !!!! mais elle est où cette doc ,

salutations
PM
Top
LLC
Posted: 10/07/06 15:12
Quote Post


Hyper User
*****

Group: Membre
Posts: 595
Member No.: 30
Joined: 18/06/02
Submissions: None Submitted
Downloads: 1



Salut root

La doc en question est livre avec le nouveau screener 3.2 , intitulé evolution screener 3.2 ou il est question du passage en mode ZAT

l'exemple que j'ai fourni est directement repris du sources zat.ah

J'ai cru comprendre que toi aussi tu partageais un espace de donnees dans tes overlay , comment procedes-tu ?


merci @+



PMEmail PosterUsers Website
Top
root
Posted: 10/07/06 17:33
Quote Post


God of the forum
*******

Group: Admin
Posts: 6101
Member No.: 2
Joined: 10/05/02
Submissions: 10 
Downloads: 19



c'est plutot du bricolage, mais ca marche
Je n'utilise pas la technique du zat, mais l'ancienne méthode pour les attach

j'ai défini un buffer
const lgbuffer%1000
buffer$=lbbuffer
field=m,buffer
.....
....
field=m

La description de ce buffer est placé dans un include.
Je met l'include dans tous mes overlays

voila la procedure d'init de l'overlay
QUOTE
proc overlay1_init(ptr zptr$=5,ptr buf$=lgbuffer)
endloc 

initglobal  ;Initialisation des variables Globales du programme attach‚
zlib_herit(zptr)           ;heritage Zlibrary
buffer=ALIAS(buf)
; Initialisation variables
endproc



Dans le programme qui doit attaché l'overlay
QUOTE
   create buffer ; creation du pointeur sur les parametre


aprés l'attach, j'execute la procédure d'initialisation de l'overlay en lui donnant le pointeur screener aprés l'avoir récupérer par zlib_recup et je lui donne mon buffer partagé

ainsi le buffer est accéssible en lecture/ecriture, c'est un peu dangereux, mais si on est rigoureux ca marche.
Dans mon buffer j'ai placé des variables globales à tous les overlays et j'y ai placé un tableau de pointeur qui me permet d'appeler des procédures entre overlays.
Le tableau de pointeur est initialisé avant de faire les attach.

Mais si j'ai bien compris la methode du ZAT et plus simple car il existe un pointeur sur les données de l'overlay
donc les données locale à l'overlay peuvent être vu de l'extérieur, enfin c'est ce que je pense.

Qui peut poster la doc du ZAT qui explique le pointeur de code et le pointeur de donnée ?

Salutations
PM
Top
jamie
Posted: 11/07/06 05:44
Quote Post


Hyper User
*****

Group: _Membre
Posts: 529
Member No.: 461
Joined: 24/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



Bonjour,

C'est sur que les overlays sont connus de vraiment peu de gens. C'est assez simple :

1) exa charge le programme a attacher et le range dans une liste d'attachement a fin de le réutiliser
s'il ya des multiples instance requises.

2) exa alloue de la memoire pour la table des pointeurs de procedures et initialise chaque
pointeur sur procedure dans l'ordre de la table des procedure donc l'ordre des instructions
proc et forward.

3) exa alloue de la memoire pour les variables globales.

4) exa alloue dix octets pour rendre les deux pointeurs et affect le pointeur initiale.

Donc

Ptr objet$=10
Field=m,objet
ptr proc ppt(nombre de procedures)
ptr vg$=taille totale des variables globales.
field=m

c'est tout a fait possible de redefinir le pointeur vg a fin d'acceder aux variables globales de l'overlay !

J


PMEmail Poster
Top
LLC
Posted: 11/07/06 08:57
Quote Post


Hyper User
*****

Group: Membre
Posts: 595
Member No.: 30
Joined: 18/06/02
Submissions: None Submitted
Downloads: 1



Voici la doc en question ;)

je continue a tester mais j'ai des soucis avec le partage des variables globales
il faut dire que j'en ai beaucoup (pres de 60K) :(

Faut-il que je modifie mes procédures afin de réduire la taille de mes variables...



Attached File ( Number of downloads: 342 )
Attached File  ScrZat.htm
PMEmail PosterUsers Website
Top
jamie
Posted: 11/07/06 21:53
Quote Post


Hyper User
*****

Group: _Membre
Posts: 529
Member No.: 461
Joined: 24/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



Il me semble qu'en 32 bit il ne doit pas y avoir trop de souci concernent le nombre
de variables globales.
J
PMEmail Poster
Top
Marcelino
Posted: 22/02/07 18:12
Quote Post


Hyper User
*****

Group: Spanish
Posts: 532
Member No.: 717
Joined: 22/02/05
Submissions: None Submitted
Downloads: 1



Une petite suposition:
J'ai un programme qui Attache un overlay. B)
Mais, l'install n'a pas copié l'overlay. :(
Quand le programme Attache l'overlay, il plante. :angry:

Et la question:
Comment éviter ça? <_<

Merci.
PM
Top
krb
Posted: 22/02/07 18:15
Quote Post


Ultra User
****

Group: Membre
Posts: 215
Member No.: 440
Joined: 05/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



tu fais un open avec test d'erreur avant l'attach.
ca ne consomme pas de ressources, et ca permet d'eviter de gros crash.

PMEmail Poster
Top
jamie
Posted: 22/02/07 21:03
Quote Post


Hyper User
*****

Group: _Membre
Posts: 529
Member No.: 461
Joined: 24/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



L'instruction ATTACH peut se faire par Nom de Fichier ou par Numero d'Assign.
Ce qui facilite et qui encourage ceux qui font des tentatives d'ouverture avant
de se payer le mur
:rolleyes:

PMEmail Poster
Top
jamie
Posted: 22/02/07 21:04
Quote Post


Hyper User
*****

Group: _Membre
Posts: 529
Member No.: 461
Joined: 24/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



Sinon, il y a toujours les techniques standard de gestion d'erreur par l'instruction

CODE
ON ERROR GOTO &label,variable


pour proteger des regions critiques sans gestion d'erreur locale a l'instruction.

B)
PMEmail Poster
Top
Marcelino
Posted: 23/02/07 08:33
Quote Post


Hyper User
*****

Group: Spanish
Posts: 532
Member No.: 717
Joined: 22/02/05
Submissions: None Submitted
Downloads: 1



Merci, krb et jamie.
PM
Top
jamie
Posted: 23/02/07 09:13
Quote Post


Hyper User
*****

Group: _Membre
Posts: 529
Member No.: 461
Joined: 24/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



De nada
PMEmail Poster
Top
Marcelino
Posted: 23/02/07 10:22
Quote Post


Hyper User
*****

Group: Spanish
Posts: 532
Member No.: 717
Joined: 22/02/05
Submissions: None Submitted
Downloads: 1



Je supose que Attach respecte ENV(ATPATH)
PM
Top
jamie
Posted: 23/02/07 22:29
Quote Post


Hyper User
*****

Group: _Membre
Posts: 529
Member No.: 461
Joined: 24/05/04
Submissions: None Submitted
Downloads: No Files Downloaded



Sous windows c'est OVLPATH et bientot sous useit aussi
ca va etre syncho dans le 3.2 tres bientot.
PMEmail Poster
Top
0 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
0 Members:

Topic Options Pages: (3) [1] 2 3  Reply to this topicStart new topicStart Poll

 

webcron.org Get Firefox! prologue-community.org est monitoré par ikoula.fr Referenceur Gratuit www.prologue-community est mis en évidence sur internet grace à daubresse.fr
moteur de recherche - referencement
Conformément à l'article 34 de la loi "Informatique et Liberté" vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données qui vous concernent.
Pour l'exercer, merci de nous contacter : CONTACT US

www.prologue-community.org n'est pas enregistré à la CNIL
www.prologue-community.org est hébergé sur visit.fr

www.prologue-community.org est indépendant de la société Prologue
Une grande partie des logiciels et outils cités sur www.prologue-community.org sont des produits et marques déposées par la société Prologue


MKPortal M1.1 Rc1 ©2003-2005 All rights reserved
Page generated in 0.00639 seconds with 2 queries