Цитата:
Сообщение от жекаизжека
Если ваша программа редко использует какие либо функции или процедуры, то вынесите их в DLL файл, чтоб память не засоряли (хотя сейчас это и не так важно, памяти оперативной ”куча” 1 - 2 гигабайта это уже не редкость, но всё же это подчеркнёт Ваш профессионализм).
ты случайно не знаешь как это можно сделать, если делал можешь подробно описать, зарание благодарен
|
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;
К тому же второй более гибкий