![]()  | 
	
 
  | 
| 
		 
			 
			#11  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 1. именно так и делаю выножу в dll обработку которая требуется редко. и дело не в занимаемой памяти. Тут все проще чем меньше прога весит в оперативе тем быстрее и стабильнее она работает. 2. Что сделать? снизить затраты в ЦП и памяти? 3. для увеличение быстродействия не создавайте громоских процеду, а старайтесь делить на небольшие процы и функции. Например чтение из реестра можно написать двумя способами. Но второй показал более оптимальные параметры и меньшее время (При многократнм обращении). Способ 1: Код: 
	const cKeyRoot: HKEY = HKEY_CURRENT_USER ; cKey: string = '\Software\MyProg'; Var Reg: TRegistry; function GetStrReg(RootKey:HKey;Key:string):string; begin Reg:=TRegistry.Create; Reg.RootKey:=RootKey; Reg.OpenKey(Key,False); Result:=Reg.ReadString(Param); Reg.CloseKey; Reg.Free; end; Второй способ Код: 
	const cKeyRoot: HKEY = HKEY_CURRENT_USER ; cKey: string = '\Software\ibc'; var Reg: Tregistry procedure CreateReg(RootKey: HKEY;Key:string); begin Reg:=TRegistry.Create; Reg.RootKey:=RootKey; Reg.OpenKey(Key,false); end; procedure FreeReg; begin Reg.CloseKey; Reg.Free; end; function ReadIntReg(RootKey:HKEY; Key,Param: string): integer; begin CreateReg(RootKey,Key,False); Result:=Reg.ReadInteger(Param); FreeReg; end; //---------------------------------------------------------- function ReadStrReg(RootKey:HKEY; Key,Param: string): String; begin CreateReg(RootKey,Key,False); Result:=Reg.ReadString(Param); FreeReg; end; К тому же второй более гибкий Последний раз редактировалось dmdx, 24.09.2008 в 13:08.  |