Avatar billede zerohero Nybegynder
22. februar 2002 - 17:11 Der er 5 kommentarer og
1 løsning

Arrays - memory

Hurtige spørgsmål til professoren...

1. Jeg tænkte på at når man laver en array der indeholder en masse records - hvordan kan jeg så finde ud af, hvor meget den fylder i mit ram-lager (udover at bruge Tmemorystatus og Tsysteminfo) - kan jeg på en eller anden måde anvende GetMem() til dette formål?

2. Hvad er hurtigst at anvende af Array typer? og hvor hurtig er hurtig (er det ms vi snakker om)?

3. Hvad er den store forskel mellem packed record og bare en normal record (udover at det fylder mindre i ram-lageret)?

4. Kan jeg frigøre et x antal ram-plads der kan benyttes af min applikation alene - og hvordan?

5. Når jeg har lavet en masse dynamic arrays i mit program (som sikkert fylder en  masse i computerens hukommelse) bør jeg så ikke slette dem igen efter brug - og hvordan gør man egentligt det? - er det med setlength()?... eller bliver de automatisk slettet når jeg lukker mit program

God Weekend

ZeroHero
Avatar billede hreiff Nybegynder
25. februar 2002 - 10:52 #1
I Delpi 1 var den eneste måde at lave dynamiske arrays vha. GetMem, New og FreeMem. Om SetLength virker på samme måde ved jeg ikke, men den 'gammeldags' måde virker nok stadig.
Avatar billede zerohero Nybegynder
26. februar 2002 - 08:13 #2
Jeg ved godt, hvordan man laver dynamiske arrays! :-)
Avatar billede Slettet bruger
02. marts 2002 - 20:06 #3
3) hastighed
packed Arrays records eller hvad det nu er er langsommere en almindelige

5)De bliver automatiskt slettet (mener norton) Ellers kan du bare gøre sådan  hvis det er et array af komponenter
For I:=0 To Length(Array)-1 Do
Array[I].Free


Mvh. Simon
Avatar billede Slettet bruger
02. marts 2002 - 20:09 #4
Glemmte noget

For I:=0 To Length(Array)-1 Do
Array[I].Free
SetLength(Array,0);

4) hvis Dynamisk array ja
SetLengh(Array,X) formindsker(hvis X Er mindre End Lengden af Array) eller forstører brugen af ram
Avatar billede zerohero Nybegynder
02. marts 2002 - 20:29 #5
tankred>>
3) men hvor meget langsommere er det ms eller sec vi snakker om?
4) skal man slet ikke bruge memory-buffer eller sådan noget?
5) hmmm... det lyder da næsten for godt til at være sandt at de automatisk bliver slettet... men ok! :-)

Det lyder da altsammen meget enkelt - og jeg som troede at man skulle kunne en masse fint programmerings-haløj så som assembler for at kunne udnytte dynamiske arrays 100%...

Er der nogen der eventuelt har link til artikler eller lign. der omhandler emnet?
Avatar billede Slettet bruger
03. marts 2002 - 01:36 #6
3) det er forkelligt afhengigt af indholdet af arrayet
  dog skulle det være midre end milisekunder for små arrays
  des større de bliver des langsommere bliver de
4) nej det duer altid for mig.
nej beklager

1) regn dig frem.
2) 1 dimensionelle tror jeg
  det er nok under ms tror jeg
Mvh. Simon
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester