| |
|
|
Georg Teles | Sehr viel Valor lege I ordentliche Speicherleerung, hier una kleines Ejemplo dazu
DEF SetWindowLong(3)!"USER32","SetWindowLongA"
'DEF initDLL(<Anzahl Parameter>)!"eineDLL.dll","initDLL"
'DEF DEinitDLL(<Anzahl Parameter>)!"eineDLL.dll","DEinitDLL"
Declarar ende%, dll&, icon&
winmain()
activities()
aufraeumen()
Proc winmain
'dll& = UseDLL("eineDLL.dll")
'If dll&
' initDLL(<Parameter>)
'EndIf
icon& = Crear("hIcon","MAIN")
Windowtitle "Titel"
Windowstyle 8+16+512'8 = Mit Icon en el Fenstertitel
'512 = Dialogverhalten > después de Beendigung el Bucle se el Code más ausgeführt
Ventana 0,0-800,600
SendMessage(%HWnd,$80,1,icon&)'Icon en Fenstertitel conjunto
SetWindowLong(%HWnd,-16,$92CA0000)'minimieren & X - Button, maiximieren deaktiviert - Vergrößern inaktiv
'SetWindowLong(%HWnd,-16,$92CE0000) 'minimieren & X - Button, maiximieren deaktiviert - Vergrößern aktiv
'SetWindowLong(%HWnd,-16,$92CB0000) 'minimieren, maiximieren & X - Button, - Vergrößern inaktiv
'SetWindowLong(%HWnd,-16,$92CD0000) 'minimieren, maiximieren & X - Button, - Vergrößern aktiv
DrawIcon icon&,10,10
ENDPROC
Proc activities
Claro ende%
Sinestar encargado ende%
Waitinput
If (%Key = 2) | (%Key = 27)' X o. ALT + F4 oder ESC
'ShowWindow(%HWnd,0) 'en "Flackern" de Fensterobjekten a verhindern
Inc ende%
EndIf
Endwhile
ENDPROC
Proc aufraeumen
DeleteObject icon&
If dll&'DLL aufräumen, eventuell DLL interne "free"-Función vorher aufrufen
'DEinitDLL(<Parameter>)
'FreeDLL dll&
EndIf
imprimir "aufgeräumt ..."
WaitInput
ENDPROC
FIN
Servus |
|
|
| |
|
|
|
| Und entonces kam alles anders.
Hart gesprochen - como en solchen como obigen Dingen el OS/ Windows incluso en Prozessende más rápido y effizienter bereinigt, como si uno lo incluso por XProfan tätentut, es desafortunadamente Tiempo y Stromverschwendung.
Kann uno auch ewig streiten, si solches "Aufräumen" así guter oder schlechter Stil es - auch si el Bedürfnis natürlich nachvollziehbar es.
Als Cuestión formuliert, qué einfacher es fürs OS: 1.000 deleteObjects oder 1x "alle Objetos en Müll", wobei "alle Objetos en Müll" el OS sólo incluso anweisen kann.
Pero sólo Generve en hohem Niveau y en Windows kleiner NT, sería Yo para mi obigen Aussagen el Hand auch no en el Feuer legen.
Auf el otro Página debería uno danach aber auch konsequent el hWnd todavía zerstören y el Speicher para el Variables y y y... macht en efecto kein Mensch. ^ ^ (wozu auch)
Gibt sólo muy muy muy wenige Características en denen en el Windows-Ayuda aufgeführt es, dass ellos Ressourcen erzeugen el el Prozess überstehen. |
|
|
| |
|
|
|
Georg Teles | Moin,
sí desafortunadamente Verschwendung de Tiempo & Strom, habe lo me así angewöhnt de diesem Grund:
IF (14.02.2016)
Als Cuestión formuliert, qué einfacher es fürs OS: 1.000 deleteObjects oder 1x "alle Objetos en Müll", wobei "alle Objetos en Müll" el OS sólo incluso anweisen kann.
Yo ni idea wann el passiert, wieso y cómo el passiert gemeint Yo pero no sólo el DLL pero el Vars el auch con DeleteObject gelöscht voluntad debería, oder es ahora doch egal ?
IF (14.02.2016)
Gibt sólo muy muy muy wenige Características en denen en el Windows-Ayuda aufgeführt es, dass ellos Ressourcen erzeugen el el Prozess überstehen.
moment veces, Yo qué no mitbekommen, heisst el ahora, XProfan räumt nun beim Prozessende selber en o. Windows macht el beim Programmende ? |
|
|
| |
|
|
|
| Klar, kannst Usted ruhig mutig ser.
XProfans End (exitProcss) schließt Usted en efecto todos Ventana etc. -
sieht uno auch selten una DestroyWindow(hWnd) al XProfan-Programa-Ende.
Bisl qué se XProfan de se de entfernen -
aber sicherlich no Ventana etc. oder Speicher el uno se holte.
Das macht Windows alles Platt weils sí no Prozess mehr dazu son y es esta más rápido como si uno dies händisch tät. |
|
|
| |
|
|
|
Georg Teles | Hmm, sí %HWnd al Prozessende a zerstören macht wenig Sinn. Was XProfan lejos y qué no, kann sólo Roland beantworten Yo bleibe sólo una vez en meiner Pingeligkeit pero yo behalte el en el Auge |
|
|
| |
|
|