Jag använder cRegistry för att spara i registret.cRegistry Knivigt Problem!
http://www.vbaccelerator.com/home/VB/Code/Libraries/Registry_and_Ini_Files/Complete_Registry_Control/cRegistry_Class.asp
Jag har dock ett stort problem. När jag läser värden från registret, vilket jag gör några tusen gånger i mitt program, så "äter" den metoden (Get Value()) upp systemresurser. Det verkar vara någon minnesläcka i den funktionen och resurserna frigörs inte. Kanske stängs inte nyckeln efter den är läst. Kör man programmet i debug-läge kan man se att en viss rad tar mer resurser än vad som senas återlämnas.
Om man kör Aktivitetshanteraren och kollar fliken Prestanda så ökar Referenser nåt fruktansvärt. Det frigörs inte från man stänger av programmet.
Mitt program slutar läsa i registret efter några tusen läs, eftersom windows inte tillåter programmet flera Referenser.
Ni kan prova detta exempel:
(Sätt timern till ca 10-100).
<code>
Private Sub Timer1_Timer()
Dim c As New cRegistry
With c
.ClassKey = HKEY_LOCAL_MACHINE
.SectionKey = "SOFTWARE\Microsoft\Windows\CurrentVersion"
.ValueType = REG_SZ
'Get
.ValueKey = "ProgramFilesDir"
Me.Caption = .Value
End With
End Sub
</code>
Är det nån som kan se felet?!
Det är ju Många som använder denna klassen.
/André