Developpez.com - 4D
X

Choisissez d'abord la catégorieensuite la rubrique :


Modifier la taille des piles dans 4D

Date de publication : 16/03/2006

Par Support Technique 4D
 

Comment modifier la taille des piles dans 4D... code exemple.


Produit : 4D 2004  ·  Plateforme : Mac, Win


Chaque process dans 4D a une taille de pile (stack size) définie par défaut.
Avec 4D 2003, la valeur par défaut de la pile pouvait être modifiée avec le 4D Customizer Plus.
Avec 4D 2004, la taille de la pile a été réajustée et ne peut plus être modifiée puisque que le 4D Customizer n'existe plus avec cette version.

Il se peut qu'une base de données ait besoin d'une plus grande taille de pile.

La méthode qui suit va créer un fichier de ressources qui contiendra les nouvelles valeurs pour la taille des piles.
Le type de ressource pour la stack est 4STK.
Les valeurs définies dans le code sont les valeurs par défaut sous Windows.

Code 4D

$resFile:=Creer fichier ressources("";"")

   `ID 1
ENTIER LONG VERS BLOB(200000;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";1;$value;$resFile)
   `sur appel événement
ECRIRE NOM RESSOURCE("4STK";1;"on event call";$resFile) 

   `ID 2
ENTIER LONG VERS BLOB(524288;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";2;$value;$resFile)
   `sur appel port série
ECRIRE NOM RESSOURCE("4STK";2;"on serial port call";$resFile) 

   `ID 3
ENTIER LONG VERS BLOB(600000;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";3;$value;$resFile)
   `nveau process exécuté depuis le mode Utilisation, sur serveur, client, macro
ECRIRE NOM RESSOURCE("4STK";3;"Exec on server, on client, from user mode, macro";$resFile)

   `ID 4
ENTIER LONG VERS BLOB(1000000;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";4;$value;$resFile)
   `nouveau process executé par le menu
ECRIRE NOM RESSOURCE("4STK";4;"Exec process from menu";$resFile)

   `ID 5
ENTIER LONG VERS BLOB(262144;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";5;$value;$resFile)
   `tâches sur le serveur
ECRIRE NOM RESSOURCE("4STK";5;"Server tasks";$resFile)

   `ID 6
ENTIER LONG VERS BLOB(524288;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";6;$value;$resFile)
ECRIRE NOM RESSOURCE("4STK";6;"old backup";$resFile)

   `ID 7
ENTIER LONG VERS BLOB(524288;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";7;$value;$resFile)
   `ancienne restauration
ECRIRE NOM RESSOURCE("4STK";7;"old restore";$resFile)

   `ID 8
ENTIER LONG VERS BLOB(262144;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";8;$value;$resFile)
   `process web
ECRIRE NOM RESSOURCE("4STK";8;"Web";$resFile)

   `ID 9
ENTIER LONG VERS BLOB(1400000;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";9;$value;$resFile)
   `boucle sur serveur, cache, explorateur d'exécution
ECRIRE NOM RESSOURCE("4STK";9;"server event loop, cache, runtime explorer";$resFile)

   `ID 10
ENTIER LONG VERS BLOB(1600000;$value;Ordre octets natif )
ECRIRE RESSOURCE("4STK";10;$value;$resFile)
   `Apple event
ECRIRE NOM RESSOURCE("4STK";10;"Apple event";$resFile)

FERMER FICHIER RESSOURCES($resFile)

Si vous voulez modifier l'un ou l'autre de ces piles, remplacez la valeur dans la commande ENTIER LONG VERS BLOB.

warning Attention :
Vous ne devez changer la valeur que pour les numéros (ID) 3, 4 et 8. Les autres numéros sont conservés tels quels pour des raisons de compatibilité ou sont réservés par le moteur 4D ; ils ne doivent donc pas être modifiés.

Sous Mac OS X, toutes les tailles de pile sont définies à 524288 par défaut, sauf pour les numéros 5 et 8 qui sont définies à 262144.

Une fois que le fichier .RSR a été créé, renommez-le en .4XR et placez-le dans le dossier 4D Extensions, puis relancez 4D.
Le fichier doit être placé dans le dossier 4D Extensions de chaque application 4D requiérant ces nouvelles tailles de piles.

info Documentation :
Creer fichier ressources
ENTIER LONG VERS BLOB
ECRIRE RESSOURCE
ECRIRE NOM RESSOURCE
FERMER FICHIER RESSOURCES
Commandes et sections pour Ressources
faq Quelle est la taille par défaut des piles dans 4D 2004 ?


Valid XHTML 1.1!Valid CSS!

Copyright © 2007 4D s.a. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique 4D