Registriert seit: 31. Aug 2006
248 Beiträge
Delphi 7 Professional
|
MemProof Auswerten
5. Okt 2006, 22:12
Hallo
Ich habe MemProof als Tool bei Delphi eingebunden und mein Projekt mal überprüft. Folgendes ist dabei rausgekommen
Code:
//wenn die Anwendung gestartet ist
Pointers Live Pointer 4118 4133 439466 450882
Memory Virtual Memory 22 23 446464 462848
Memory Global Heap 15 23 426676 1802240
Memory Local Heap 2 2 5692 5692
COM CoInitialize 1 1 0 0
OLE SysString 15 22 119 181
Exceptions Exception 83 83 249 249
GDI Pen 5 6 0 0
GDI Bitmap 138 141 0 0
GDI Brush 8 11 0 0
GDI Font 10 10 0 0
GDI Palette 8 16 0 0
GDI Region 0 5 0 0
GDI DC 0 15 0 0
User Window 63 64 0 0
User Menu 6 6 0 0
User Icon 6 7 0 0
User Cursor 7 7 0 0
User Timer 3 5 0 0
User Window DC 0 3 0 0
Kernel Process 1 1 0 0
Kernel Thread 1 1 0 0
Kernel File Mapping 1 1 0 0
Kernel File Mapping View 1 1 0 0
Kernel Mutex 1 1 0 0
Kernel Event 3 3 0 0
Kernel Critical Section 273 274 0 0
Kernel Critical Section Enter 0 6 0 0
Kernel Find First 0 1 0 0
Registry Registry 0 1 0 0
Code:
//wenn die Anwendung beendet wurde
Pointers Live Pointer 1 4133 48 450882
Memory Virtual Memory 1 23 4096 462848
Memory Global Heap 0 23 0 1802240
Memory Local Heap 0 2 0 5692
COM CoInitialize 0 1 0 0
OLE SysString 0 22 0 181
Exceptions Exception 113 113 339 339
GDI Pen 0 6 0 0
GDI Bitmap 0 143 0 0
GDI Brush 0 11 0 0
GDI Font 0 10 0 0
GDI Palette 0 16 0 0
GDI Region 0 5 0 0
GDI DC 0 15 0 0
User Window 0 64 0 0
User Menu 0 6 0 0
User Icon 0 7 0 0
User Cursor 0 7 0 0
User Timer 0 5 0 0
User Window DC 0 3 0 0
Kernel Process 1 1 0 0
Kernel Thread 0 1 0 0
Kernel File Mapping 0 1 0 0
Kernel File Mapping View 0 1 0 0
Kernel Mutex 0 1 0 0
Kernel Event 0 3 0 0
Kernel Critical Section 0 274 0 0
Kernel Critical Section Enter 0 6 0 0
Kernel Find First 0 1 0 0
Registry Registry 0 1 0 0
Wenn die Anwendung beendet wurde sollte doch eigentlich bei "Resource Count Current" alles auf Null stehen oder ?
In den "Resourcen Details" verweist er mich auf folgenden Code
Delphi-Quellcode:
slDelimiter := TStringList.Create;
if not FileExists(ExtractFilePath(Application.ExeName)+'\setting.ini') then
begin
Ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'setting.ini');
Ini.WriteString('Equalizer','Default', '|15|15|15|15|15|15|15|15|15|15|');
Ini.WriteString('Equalizer','Classical', '|15|15|15|15|15|15|5|5|5|2|');
Ini.WriteString('Equalizer','Club', '|15|15|19|23|23|23|19|15|15|15|');
Ini.WriteString('Equalizer','Dance', '|23|20|16|15|15|10|10|10|15|15|');
Ini.WriteString('Equalizer','Full Bass', '|25|25|25|20|17|12|7|3|3|3|');
Ini.WriteString('Equalizer','Full Bass & Treble', '|20|20|15|10|13|17|23|25|28|28|');
Ini.WriteString('Equalizer','Full Treble', '|5|5|5|14|17|23|30|30|30|30|');
Ini.WriteString('Equalizer','Laptop Speakers/Headphones', '|17|22|17|14|15|16|17|19|21|23|');
Ini.WriteString('Equalizer','Large Hall', '|22|22|17|17|15|10|10|10|15|15|');
Ini.WriteString('Equalizer','Live', '|9|15|20|20|20|20|20|17|17|17|');
Ini.WriteString('Equalizer','Party', '|20|20|15|15|15|15|15|15|20|20|');
Ini.WriteString('Equalizer','Pop', '|13|17|20|20|17|13|10|10|10|10|');
Ini.WriteString('Equalizer','Reggae', '|15|15|12|9|15|20|20|15|15|15|');
Ini.WriteString('Equalizer','Rock', '|23|20|10|5|13|19|22|25|25|25|');
Ini.WriteString('Equalizer','Ska', '|12|10|10|15|18|21|24|24|25|24|');
Ini.WriteString('Equalizer','Soft', '|20|17|13|11|13|17|21|23|25|27|');
Ini.WriteString('Equalizer','Soft Rock', '|17|17|13|11|9|5|10|15|20|24|');
Ini.WriteString('Equalizer','Techno', '|19|15|12|9|9|15|20|24|24|22|');
sTmp := Ini.ReadString('Equalizer',sEQSetting,sEQSetting);
slDelimiter.Delimiter := '|';
slDelimiter.DelimitedText := sTmp;
//Equalizer einstellen
JvxSlider1.Value := StrToInt(slDelimiter[1]);
JvxSlider2.Value := StrToInt(slDelimiter[2]);
JvxSlider3.Value := StrToInt(slDelimiter[3]);
JvxSlider4.Value := StrToInt(slDelimiter[4]);
JvxSlider5.Value := StrToInt(slDelimiter[5]);
JvxSlider6.Value := StrToInt(slDelimiter[6]);
JvxSlider7.Value := StrToInt(slDelimiter[7]);
JvxSlider8.Value := StrToInt(slDelimiter[8]);
JvxSlider9.Value := StrToInt(slDelimiter[9]);
JvxSlider10.Value := StrToInt(slDelimiter[10]);
sTmp := '';
slDelimiter.Clear;
slDelimiter.Free;
Ini.Free;
end
Wo steckt nun der Fehler ? und was genau bedeutet eigentlich "Exceptions 113" eine kleine Auswertung und Erklärung zu diesem Beispiel wäre sehr hilfreich für mich
Gruß: Holger
[Hobby-Programmierer]
|