Forum | | | | - page 1 - |
|  GDL | Salut, habe un Programme, cela meinen freien grenier(240MB) beim magasin kurzfristig sur 2 MB bringt et après wieder sur 235 MB ansteigen peut.
par Fehlersuche fand Je l' Übeltäter KompilierenMarqueSéparation
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
avec sleep 5000 à cette Stelle bricht qui grenier pas plus un.Je kleiner qui Sleepzeit umso plus bricht qui grenier un.
salut Georg |
| | | | |
| | | | | - page 1 - |
|  Rolf Koch | *lol* Nee égal si petite ou bien gross, simple toujours seulement qui selbe Variable BILD& sans Arrayzähler. |
| | | | |
| |  Rolf Koch | mais Stopp: comment sieht PICBUTTON aus (wird wohl ne Subproc son?) - peut-être passiert là oui quoi (irgendwas pas freigegeben ou bien so)? |
| | | | |
| | | | - page 2 - |
| |  GDL | allô Rolf, qui Bilder sommes un Container et volonté später ensuite zusätzlich sur récente erstellte Controls ebenso automatisch übertragen. qui Anfangsbutton sommes seulement Auswahlbutton pour neue Eisenbahnkomponenten.
Habe maintenant chacun Variation durchprobiert. Habe sleep aussi à den Anfang qui Procedure gestellt um quoi trop Testen. ici ist selbiges.je vermute es hängt avec dem declare bild_&[9000] zusammen. qui calculateur braucht arrêt irgendwo Zeit ,là qui Proc leiste juste pour window... aufgerufen wird.
salut Georg |
| | | | |
| |  GDL | là aucun Fehlermeldung venez et cela Proggi einwandfrei fonctionne iss es oui aussi juste. Mir fiels arrêt seulement sur, là chez meinem PII calculateur, aussi sans sleep, ne 10 sec. Gedenkminute eingelegt wird. Werds später la fois sur Fichiers auslagern.
merci nochmals.
salut Georg |
| | | | |
| |  | allô Georg...
avec TNT peux on beim Erstellen einer Speicherbitmap très bien voyons, cela chez grafischen Objekten pas seulement im virtuellen grenier votre Prozesses gearbeitet wird, mais dans encore viel größerem Maße dans dem de CSRSS.EXE
quoi geschieht beim Starten eines Prozesses? qui Prozess soll vite zur Disposition stehen => qui dynamische Priorität ist très hoch...
mon Theorie: CSRSS fonctionne avec normaler Priorität. Dein Prozess klaut alors beim Starten CSRSS Prozessorzeit => Bereiche, qui auparavant de CSRSS zugewiesen wurden, peut pas dans qui erforderlichen Zeit wieder freigegeben volonté.. a) avec Sleep gibts du Prozessorzeit pour x-Millisekunden ab, CSRSS venez ensuite wieder à qui Reihe et peux enfin saubermachen. b) Dynamische Priorität verringert sich (si rien besonders passiert) avec qui Laufzeit des Prozesses. Irgendwann ist qui dynamische Priorität so gering, cela CSRSS wieder ins Rollen venez et räumt den auparavant genutzten grenier beiseite.
cela Problem liegt alors pas (direct) à deinem Programme.
Hat quelqu'un une bessere Erklärung?
PS: 30*2KB peux on so pas absolument le calcul. - chacun page im grenier ist etwa 4kB grand. - Heapkontrollstrukturen doit là aussi encore hinzugerechnet volonté - Handle nimmt place weg - .. |
| | | | |
| |  GDL | allô Andreas,
deine Theorie deckt sich oui avec meiner Vermutung. seulement passiert es aussi bereits chez einem pic, si auparavant declare bild&[9000]. chez declare bild&[10] et 10 pics ist alles dans Ordre.
salut Georg |
| | | | |
| |  | quoi pouvoir den dein Prozess chez declare bild&[9000]? il initialisiert grenier, et cela pas justement wenig. voilà alors quelqu'un stark beschäftig. Passiert cela dans qui Initialisierungsphase, peux CSRSS den pour cela Montrer de grafischen Elementen bereitgestellten grenier pas wieder freigeben, là CSRSS trop diesem la date unterhalb qui Priorität de deinem Prozess liegt. peux cela malheureusement pas überprüfen, là je dein komplettes Programme pas habe. |
| | | | |
| |  Rolf Koch | cela meinte je oui avec bild&. cependant verstehe je Dein Anliegen cet Bilder im Programme bereitzuhalten. malheureusement weis je pas, combien grenier pour je un Array bereitgestellt wird. Müsste Roland répondre. car 9000 ist wirklich très viel. je überlege grad, comment Du qui Bilder anstatt per Array irgendwie anders festhalten peux. |
| | | | |
| |  GDL | suis justement dabei Modellbahnsteuerung pour calculateur avec Win98 et 64MB RAM flotter hinzubekommen. il y a mais aucun Fehlermeldungen dans espace cette Fällen. si du sous Wettbewerbe qui dernier Installversion im letzten Posting holst la hâte du alles komplett. Pour dem Einlogen(asxdf) sous Auswahlbutton plan ist cela Programme dans qui Rohform.
salut Georg |
| | | | |
| |  | Werd la fois essayer, si es chez mir fonctionne. Comme je le disais, quoi je ici kackfrech simple la fois so behaupte ist, qui pas dein Prozess den grenier verpulvert, mais CSRSS.
Salut
Andreas |
| | | | |
| |  Rolf Koch | je vois grad, Votre Bilder avons sowieso Bild+Nr.Bmp. Versuchs doch la fois so: KompilierenMarqueSéparationname$= astart$+"\bilder\bild2.BMP"
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&
tu as maintenant ne...aucune Array, c'est bien sûr. cependant peux Du oui später im Programme doch très joli bild& je pour Aktion wieder cela richtige Bild zufügen: Beispiel: Es wird cela 10te Bild wieder nécessaire: (Aktion wäre ici 10 et serait dans zahlenausleser$ gespeichert) KompilierenMarqueSéparationbild$=astart$+"\bilder\bild"+zahlenausleser$+".BMP"
bild& = @Créer("HPIC", -1, nom$)
neuerbutton&=@Créer("PicButton",arbeitsleiste&,bild&,31,1,30,30,)
destroywindow bild&
Aufjedenfall devrait Du de solch grossen Arrays (9000!) la distance gewinnen. |
| | | | |
| |  GDL | suis justement dabei mir une Bildcontainer avec festen Bildern trop faire et ändere qui Verschiebetechnik ensuite ab. viens ensuite avec 200 Bildern aus. KompilierenMarqueSéparationnum1&=1
clear result%
whilenot num1& > objekt& Erzeugte Objekte abfragen
x%=1
y%=1
CheckMouse objekt_&[num1&],x%,y%,lang_&[num1&],breit_&[num1&]
If result% = 1
settext kfenster&,oname_$[num1&]
num&=num1&
clear result%
whilenot %Mousepressed = 0
UseCursor 3
destroywindow(objekt_&[num1&])
num&=num1&
settext kfenster&,oname_$[num1&]
xpos_&[num1&]=%mousex
ypos_&[num1&]=%mousey
xpos_1&[num1&]=%mousex+xbalken%
ypos_1&[num1&]=%mousey+ybalken%
ifnot ttext&[num1&]=1
objekt_&[num1&]=control("STATIC","",style_&[num1&],xpos_&[num1&],ypos_&[num1&],lang_&[num1&],breit_&[num1&],%hwnd,0,%hinstance,$0)
casenot left$(oname_$[num&],3)="Ger":Sendmessage(objekt_&[num1&],$172,0,bild_&[num1&]) hier werden die Pics momentan gebraucht
else
objekt_&[num1&]=create("text",%hwnd,oname_$[num1&],xpos_&[num1&],ypos_&[num1&],lang_&[num1&],breit_&[num1&])
setfont objekt_&[num1&],font&
endif
wend
UseCursor 0
Endif
num1&=num1&+1
wend
if %MouseKey=2
xn%=%mousex
yn%=%mousey
drawtext 10,%maxy-80,("aktuelle Erstellkoordinate: x "+right$(("00"+str$(%mousex)),3)+" y "+right$(("00"+str$(%mousey)),3))
../function-references/XProfan/endif/'>endif
und dir , muss seulement qui Objekterzeugung encore changement.
salut Georg |
| | | | |
|
répondreOptions du sujet | 2.383 Views |
Themeninformationencet Thema hat 4 participant: |