Foro | | | | GDL | Ciao, habe ein Programm, das meinen freien Speicher(240MB) beim Laden kurzfristig auf 2 MB bringt und danach wieder auf 235 MB ansteigen lässt.
Durch Fehlersuche fand Io l' Übeltäter KompilierenMarkierenSeparieren
proc leiste
windowstyle 3
arbeitsleiste&=create("window",%hwnd,"Arbeitsleiste",1,%maxy-190,1000,90)
name$= astart$+"\bilder\bild1.BMP"
bild_&[9000] = @Create("HPIC", -1, name$)
ger1&=@Create("PicButton",arbeitsleiste&,bild_&[9000],1,1,30,30,)
name$= astart$+"\bilder\bild2.BMP"
bild_&[8999] = @Create("HPIC", -1, name$)
ger2&=@Create("PicButton",arbeitsleiste&,bild_&[8999],31,1,30,30,)
name$= astart$+"\bilder\bild3.BMP"
bild_&[8998] = @Create("HPIC", -1, name$)
bog1&=@Create("PicButton",arbeitsleiste&,bild_&[8998],61,1,30,30,)
name$= astart$+"\bilder\bild4.BMP"
bild_&[8997] = @Create("HPIC", -1, name$)
bog2&=@Create("PicButton",arbeitsleiste&,bild_&[8997],91,1,30,30,)
name$= astart$+"\bilder\bild5.BMP"
bild_&[8996] = @Create("HPIC", -1, name$)
bog3&=@Create("PicButton",arbeitsleiste&,bild_&[8996],121,1,30,30,)
name$= astart$+"\bilder\bild6.BMP"
bild_&[8995] = @Create("HPIC", -1, name$)
bog4&=@Create("PicButton",arbeitsleiste&,bild_&[8995],151,1,30,30,)
name$= astart$+"\bilder\bild7.BMP"
bild_&[8994] = @Create("HPIC", -1, name$)
wei1&=@Create("PicButton",arbeitsleiste&,bild_&[8994],181,1,30,30,)
name$= astart$+"\bilder\bild8.BMP"
bild_&[8993] = @Create("HPIC", -1, name$)
wei2&=@Create("PicButton",arbeitsleiste&,bild_&[8993],211,1,30,30,)
name$= astart$+"\bilder\bild9.BMP"
bild_&[8992] = @Create("HPIC", -1, name$)
wei3&=@Create("PicButton",arbeitsleiste&,bild_&[8992],241,1,30,30,)
name$= astart$+"\bilder\bild10.BMP"
bild_&[8991] = @Create("HPIC", -1, name$)
wei4&=@Create("PicButton",arbeitsleiste&,bild_&[8991],271,1,30,30,)
name$= astart$+"\bilder\bild11.BMP"
bild_&[8990] = @Create("HPIC", -1, name$)
wei5&=@Create("PicButton",arbeitsleiste&,bild_&[8990],301,1,30,30,)
name$= astart$+"\bilder\bild12.BMP"
bild_&[8989] = @Create("HPIC", -1, name$)
wei6&=@Create("PicButton",arbeitsleiste&,bild_&[8989],331,1,30,30,)
name$= astart$+"\bilder\bild13.BMP"
bild_&[8988] = @Create("HPIC", -1, name$)
wei7&=@Create("PicButton",arbeitsleiste&,bild_&[8988],361,1,30,30,)
name$= astart$+"\bilder\bild14.BMP"
bild_&[8987] = @Create("HPIC", -1, name$)
wei8&=@Create("PicButton",arbeitsleiste&,bild_&[8987],391,1,30,30,)
name$= astart$+"\bilder\bild19.BMP"
bild_&[8986] = @Create("HPIC", -1, name$)
kw1&=@Create("PicButton",arbeitsleiste&,bild_&[8986],421,1,30,30,)
name$= astart$+"\bilder\bild20.BMP"
bild_&[8985] = @Create("HPIC", -1, name$)
kw2&=@Create("PicButton",arbeitsleiste&,bild_&[8985],451,1,30,30,)
name$= astart$+"\bilder\bild15.BMP"
bild_&[8984] = @Create("HPIC", -1, name$)
sig1&=@Create("PicButton",arbeitsleiste&,bild_&[8984],481,1,30,30,)
name$= astart$+"\bilder\bild16.BMP"
bild_&[8983] = @Create("HPIC", -1, name$)
sig2&=@Create("PicButton",arbeitsleiste&,bild_&[8983],511,1,30,30,)
name$= astart$+"\bilder\bild18.BMP"
bild_&[8982] = @Create("HPIC", -1, name$)
ap&=@Create("PicButton",arbeitsleiste&,bild_&[8982],541,1,30,30,)
name$= astart$+"\bilder\bild17.BMP"
bild_&[8981] = @Create("HPIC", -1, name$)
bm&=@Create("PicButton",arbeitsleiste&,bild_&[8981],571,1,30,30,)
tas&=@Create("Button",arbeitsleiste&,"Ta",601,1,30,30,)
text&=@Create("Button",arbeitsleiste&,"Text",631,1,50,30,)
name$= astart$+"\bilder\bild21.BMP"
bild_&[8980] = @Create("HPIC", -1, name$)
dwei&[1]=@Create("PicButton",arbeitsleiste&,bild_&[8980],690,1,60,36)
name$= astart$+"\bilder\bild22.BMP"
bild_&[8979] = @Create("HPIC", -1, name$)
dwei&[2]=@Create("PicButton",arbeitsleiste&,bild_&[8979],755,1,60,36)
name$= astart$+"\bilder\bild23.BMP"
bild_&[8978] = @Create("HPIC", -1, name$)
dwei&[3]=@Create("PicButton",arbeitsleiste&,bild_&[8978],820,1,36,60)
name$= astart$+"\bilder\bild24.BMP"
bild_&[8977] = @Create("HPIC", -1, name$)
dwei&[4]=@Create("PicButton",arbeitsleiste&,bild_&[8977],875,1,36,60)
name$= astart$+"\bilder\bild25.BMP"
bild_&[8976] = @Create("HPIC", -1, name$)
winkel&[1]=@Create("PicButton",arbeitsleiste&,bild_&[8976],1,35,30,30)
name$= astart$+"\bilder\bild26.BMP"
bild_&[8975] = @Create("HPIC", -1, name$)
winkel&[2]=@Create("PicButton",arbeitsleiste&,bild_&[8975],31,35,30,30)
sleep 5000 sonst bricht der Speicher endproc
Mit sleep 5000 an dieser Stelle bricht der Speicher nicht mehr ein.Je kleiner die Sleepzeit umso weiter bricht der Speicher ein.
Servus Georg |
| | | | |
| | | Ja weil Windows Zeit braucht um diese Unmengen als virtuellen Speicher auf die Platte zu bringen.
Was haben die Bilder per Ausnaße? |
| | | | |
| | GDL | Hallo if,
durchschnittlich 2KB,und insgesamt 30 Bilder. Die Bilder bis bild_&[8970] werden aber beim Start noch nicht belegt.
Servus Georg |
| | | | |
| | | Hm aber ca 30*2kb sind keine 240mb - wie oft rufst Du diese Proc auf? |
| | | | |
| | GDL | 1 mal beim Start, dann nicht mehr.Danach ändert sich auch nichts mehr am verfügbarem Speicher. Ist nur am Programmstart einmal ein absacken auf ca. 2MB ohne sleep. |
| | | | |
| | Rolf Koch | Was passiert, wenn Du jedesmal folgende Zeile einfügst? bild_&[9000] = @Create(HPIC, -1, name$) ger1&=@Create(PicButton,arbeitsleiste&,bild_&[9000],1,1,30,30,) deleteobject bild_&[9000] (falls dies überhaupt possibile ist) |
| | | | |
| | GDL | Hallo Rolf, werde ich testen, rühr mich wieder. |
| | | | |
| | Rolf Koch | nochwas: vielleicht dann so?
bild&=@Create(HPIC, -1, name$) ger1&=@Create(PicButton,arbeitsleiste&,bild&,1,1,30,30,) destroywindow bild&
name$= astart$+\bilder\bild2.BMP bild& = @Create(HPIC, -1, name$) ger2&=@Create(PicButton,arbeitsleiste&,bild&,31,1,30,30,) destroywindow bild&
das reicht doch, brauchst doch keine Arrayvari dafür! |
| | | | |
| | GDL | Hallo Rolf,
habe obigen so Teil abgeändert KompilierenMarkierenSeparieren
proc leiste
windowstyle 3
arbeitsleiste&=create("window",%hwnd,"Arbeitsleiste",1,%maxy-190,1000,90)
ja
name$= astart$+"\bilder\bild1.BMP"
bild_&[9000] = @Create("HPIC", -1, name$)
ger1&=@Create("PicButton",arbeitsleiste&,bild_&[9000],1,1,30,30,)
deleteobject bild_&[9000]
sleep 5000
n
selbiges in grün.Auch bei nur einem Pic.Ohne sleep bricht Speicher kurzfristig zusammen. |
| | | | |
| | GDL | | | | | |
| | Rolf Koch | *lol* Nee egal ob klein oder gross, einfach immer nur die selbe Variable BILD& ohne Arrayzähler. |
| | | | |
| | Rolf Koch | Aber Stopp: Wie sieht PICBUTTON aus (wird wohl ne Subproc sein?) - vielleicht passiert da ja was (irgendwas nicht freigegeben oder so)? |
| | | | |
|
AnswerThemeninformationenDieses Thema hat 4 subscriber: |