Eli miten pystyy poistamaan muuttujan/taulukon, ettei se kuluttaisi turhaan muistia?
eikös se käy ERASE käskyllä eli:
DIM A(100) ERASE A
ymmärtääkseni.
Näyttää toimivan, kiitos.
Edit: Tai no nii... toi vaan tyhjentää sen eli eikös se vie silti sen muistin?
Taulukkoa/muuttujaa ei tietääkseni saa poistettua kesken ajon.
Taulukon voit kuitenkin redimmata minimiinsä, eli yhteen alkioon. Tällöin taulukkojen on kuitenkin oltava dynaamisia.
'$DYNAMIC DIM a(100) REDIM a(1)
No täytyy kai sitte tyytyä tohon, Kiitti.
lainaus:
Taulukkoa/muuttujaa ei tietääkseni saa poistettua kesken ajon.
Taulukon voit kuitenkin redimmata minimiinsä, eli yhteen alkioon. Tällöin taulukkojen on kuitenkin oltava dynaamisia.
'$DYNAMIC DIM a(100) REDIM a(1)
Eikös tuo REDIM a(1) jätä siihen kaksi alkiota? (0-1)
Vai vaikuttaako dynaamisuus asiaan jotenkin?
CLEAR käsky kai ainakin nollaa muuttujat ja taulukot, mutta en tiedä vapauttaako se muistia.
Jos taulukko on dynaaminen, niin ERASE myös vapauttaa taulukon varaaman muistin. Sitten taulukon rajat pitää määrittää uudestaan. Tässä on esimerkki:
'$DYNAMIC PRINT "Muistia aluksi:"; FRE(-1) DIM taulu(500) AS INTEGER PRINT "Muistia taulukon varaamisen jälkeen:"; FRE(-1) ERASE taulu PRINT "Muistia ERASEn jälkeen:"; FRE(-1) REDIM taulu(500) AS INTEGER PRINT "Muistia uudelleenvaraamisen jälkeen:"; FRE(-1)
Joo... muuten hyvä mutta en oikeen tykkää tosta
'$DYNAMIC
hommasta. Se kun sepailee aina joskus jotain TODELLA outoa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.