aldweb

Fermer I. aldweb

Fermer II. Gratuitiels PC

Fermer III. Gratuitiels Palm

Fermer IV. Partagiciels Palm

Fermer V. iziBasic Palm

Fermer VI. Connaissance Palm

Fermer VII. Ordinateur Poche

Fermer VIII. miniPortail

Spécial !



Version mobile
de l'aldweb Site

m.aldweb.com


Ni Français, ni Anglais ?

Essayez donc l'un de ces drapeaux :
[de] [es] [it] [pt]
Recherche




Météo / Spam / www

Météo Lyon


aldweb contre le SPAM


Newsletter
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
S'abonner
Se désabonner
298 Abonnés
Sites web de la famille

Webmaster - Infos
News Amis
Visites

   visiteurs

   visiteurs en ligne

Sondage
Comment trouve-tu le nouvel habillage de l'aldweb Site ?
 
Superbe !
Joli
Moyen
Moche...
Résultats
forum.gifForum - iziBasic - Sujet n°1391

Forum - Forum
iziBasic - iziBasic


Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257

actif  Sujet n° 1391  Global variables in PP applet ?

le 27/04/2006 @ 04:38
par bh77a

Anonyme



Hi,

I am working on a circle applet along with an update to the date time applet I released earlier and run into an error of exceeding the 256 byte size in the global variable area of the applet. I was able to get around this by limiting the size of the text strings, ie t:string[3];.

Now for my question...

Is the 256 byte buffer a "per applet" size, ie resetting to zero for each applet used in an application or more of a cumulative size, meaning that the totals of all of the variables in PP applets cannot exceed 256?

A second question...

Is there a way to fix the size of an integer, ie knowing that a variable will not exceed 160? Similar to n:integer[ ]:

Regards,
bh77a
Ecrire à bh77a   Poster une réponse  Haut

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 1
--------
le 27/04/2006 @ 19:24
par aldweb

Anonyme

visiteur
Hello bh77a,

To answer your questions:

1. the 256 bytes buffer is a cumulative size for all applets. And each applet should reserve with fake variables the upper values used by the other applets to make sure that the applet's variables are well positionned in the stack.
For instance, if applet #1 reserves 2 integers like this:
Var
Applet1Var1: integer;
Applet1Var2: integer;
Then, applet #2 should reserve like this:
Var
// do not work with them unless you want
// to share them between the 2 applets
Fake1: integer;
Fake2: integer;
// applet #2 variables
Applet2Var1: integer;
Applet2Var2: integer;

2. Yes, you can reserve 8 bits integers, 16 bits integers and 32 bits integers.
Copy & Paste from the PalmAPI.pas file:
Int8=-128..127;
UInt8=0..255;
Int16=-32768..32767;
UInt16=0..65535;
Int32=Integer;
UInt32=0..MaxInt;
So, you can save 3 bytes out of the 256 available by using a Int8 instead of a Int32 (or integer) in your example.

Now, I am happy to see that you play around with this buffer, very few people did it so far.

I could extend a little bit this buffer (but I don't remember by how much... I need to check) but kept it small so far because there are other ways to share data in the Palm (for instance, a file is nothing else but a not much slower piece of memory buffer storage possibility).

Cheers,
aldweb
Ecrire à aldweb   Poster une réponse  Haut

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 2
--------
le 27/04/2006 @ 20:12
par bh77a

Anonyme

visiteur
Hi,

Thanks for the information. Over the weekend I will try to update my code to minimize the amounts of buffer space needed.

Regards,
Brian
Ecrire à bh77a   Poster une réponse  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



 
^ Haut ^