Deutsch
Forum

Was mache ich hier mit create("hpic"...) falsch

 

GDL
Hallo,
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 ich den Ü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 ein

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
 
Windows7 Xprofan 8,9,10 [...]  [...] 
02.12.2006  
 



Ja weil Windows Zeit braucht um diese Unmengen als virtuellen Speicher auf die Platte zu bringen.

Was haben die Bilder für Ausnaße?
 
03.12.2006  
 




GDL
Hallo if,

durchschnittlich 2KB,und insgesamt 30 Bilder. Die Bilder bis bild_&[8970] werden aber beim Start noch nicht belegt.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.12.2006  
 



Hm aber ca 30*2kb sind keine 240mb - wie oft rufst Du diese Proc auf?
 
03.12.2006  
 




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.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.12.2006  
 




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 möglich ist)
 
03.12.2006  
 




GDL
Hallo Rolf,
werde ich testen, rühr mich wieder.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.12.2006  
 




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!
 
03.12.2006  
 




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
    return

selbiges in grün.Auch bei nur einem Pic.Ohne sleep bricht Speicher kurzfristig zusammen.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.12.2006  
 




GDL

KompilierenMarkierenSeparieren
name$= astart$+"\bilder\bild1.BMP"
bild_&[9] = @Create("HPIC", -1, name$)
ger1&=@Create("PicButton",arbeitsleiste&,bild_&[9000],1,1,30,30,)
deleteobject bild_&[9000]
sleep 5000
return

Auch mit einer kleinen Bildnummer das gleiche.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.12.2006  
 




Rolf
Koch
*lol*
Nee egal ob klein oder gross, einfach immer nur die selbe Variable BILD& ohne Arrayzähler.
 
03.12.2006  
 




Rolf
Koch
Aber Stopp:
Wie sieht PICBUTTON aus (wird wohl ne Subproc sein?) - vielleicht passiert da ja was (irgendwas nicht freigegeben oder so)?
 
03.12.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.901 Betrachtungen

Unbenanntvor 0 min.
rquindt22.11.2015
Uwe Lang27.02.2014
Axel Berse20.02.2013

Themeninformationen

Dieses Thema hat 4 Teilnehmer:

GDL (11x)
Rolf Koch (6x)
unbekannt (3x)
iF (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie