| |
|
|
Jac de Lad | Muss ich ein Icon, dass ich mit den APIs LoadIcon/LoadImage usw. lade eigentlich wieder zerstören (mit DeleteObject)? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 03.12.2007 ▲ |
|
|
|
|
Frank Abbing | Wenn in der API-Beschreibung nichts darüber steht, kannst du davon ausgehen, dass es nicht nötig ist. |
|
|
| |
|
|
|
Jac de Lad | Habs mal nachgeschlagen:
When you are finished using a bitmap, cursor, or icon you loaded without specifying the LR_SHARED flag, you can release its associated memory by calling one of the functions in the following table.
Resource Release function Bitmap DeleteObject Cursor DestroyCursor Icon DestroyIcon
The system automatically deletes these resources when the process that created them terminates, however, calling the appropriate function saves memory and decreases the size of the processs working set.
Also habe ich bis jetzt immer Speicher sinnlos belegt und nicht freigegeben...schlecht! |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 03.12.2007 ▲ |
|
|
|
|
Frank Abbing | Mach dir keinen Kopf. Windows ab XP gibt Speicher per Programme automatisch frei, falls es das Prog nicht schon getan hat. |
|
|
| |
|
|
|
| Da hat Frank sicher recht, ich aber auch meine das es unabhängig vom OS zum guten Stil gehört wenn man genutzte Objekte auch wieder freigibt. |
|
|
| |
|
|
|
Jac de Lad | Ja, eben, deswegen die Frage. Also muss ich eine Tonne Handles speichern... |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 04.12.2007 ▲ |
|
|
|
|
Jörg Sellmeyer | |
|
|
|
| Richtig, eine Tonne Handles speichern!
Ich erzeuge hierfür oft eine Funktion Trashcan[pseudo]klasse, als Param das Handle und gibt es auch per Return wieder zurück, dadurch geht folgendes: KompilierenMarkierenSeparieren |
|
|
| |
|
|
|
Jac de Lad | Cool, danke. Die Array-Variante gefällt mir besonders gut. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 04.12.2007 ▲ |
|
|
|
|
Dieter Zornow | Ich bezweifle ernsthaft, dass man die APIs LoadIcon/LoadImage wieder freigeben muss, wenn etwas wieder freigegeben werden muss, dann steht es wie Frank schon schrieb direkt bei der Beschreibung der API dabei und bei den beiden steht es nicht dabei. @Jac, wo hast du denn den Text herausgenommen.
Gruss aus Bangkok
Dieter |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 04.12.2007 ▲ |
|
|
|
|
Jac de Lad | |
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 04.12.2007 ▲ |
|
|
|
|
| Hm LoadIcon wurde von Loadimage abgelöst - potuto man also davon ausgehen das LoadIcon intern auch Loadimage benutzt.
Zu Loadimage steht in MSDN u.A. folgendes: [...]
MSDN
Remarks
When you are finished using a bitmap, cursor, or icon you loaded without specifying the LR_SHARED flag, you can release its associated memory by calling one of the functions in the following table.
Ist also nur die Frage ob Roland LR_SHARED gesetzt hat. (ich vermute er hat es nicht gesetzt, sei denn, er hat es unabsichtlich nicht entfernt)
Für den Fall gilt also: bitte naturalmente deleteobject anwenden! |
|
|
| |
|
|