Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Как записать в реестр переменную типа tagWINDOWPLACEMENT ?   Найти похожие ветки 

 
akiro ©   (2004-02-09 17:59) [0]

Пробую использовать TRegistry.WriteBinaryData - не получается :(


 
Skier ©   (2004-02-09 18:07) [1]

код покажи


 
akiro ©   (2004-02-09 18:18) [2]

GetWindowPlacement(Handle,@varWindowPlacement);

varRegistry := TRegistry.Create;
with varRegistry
do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey(sRsRegistryPath,True);
WriteBinaryData(sRsWindowPlacement,varWindowPlacement,2048);
end;


 
VMcL ©   (2004-02-09 18:22) [3]

WriteBinaryData(sRsWindowPlacement, varWindowPlacement, SizeOf(varWindowPlacement));


 
Skier ©   (2004-02-09 18:24) [4]

1) Что возвращает OpenKey True или False ?
2) Почему 2048 (!), а не SizeOf(varWindowPlacement) ?

Если ты увидел число 2048 и бездумно его поставил, то почитай-ка
справку ещё раз :

Long values (more than 2048 bytes) should be stored as separate files, and those file names should be stored in the registry.


 
Skier ©   (2004-02-09 18:26) [5]

Да и ещё ! Нужно использовать try-блок и в секции finally писать
CloseKey !


 
VMcL ©   (2004-02-09 18:47) [6]

>>Skier © (09.02.04 18:26) [5]
>писать CloseKey !

Необязательно, CloseKey() вызывается в Destroy. Если долго не держать в памяти TRegistry, а уничтожать сразу, как отпала необходимость, то вообще можно CloseKey() не вызывать.


 
Skier ©   (2004-02-09 18:49) [7]

смотрим пример в Delphi и видим...

var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey("\Software\Microsoft\Windows\CurrentVersion\RunOnce", True)
then Reg.WriteString("MyApp",""" + ParamStr(0) + """);
finally

Reg.CloseKey;
Reg.Free;

end;
end;


 
VMcL ©   (2004-02-09 19:04) [8]

смотрим Registry.pas и видим:

destructor TRegistry.Destroy;
begin
CloseKey;
inherited;
end;



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
3-79594
Layner
2004-02-02 16:12
2004.02.25
Подскажите плз, как из тригерра(MS SQL) получить некоторые знач.


1-79723
Senator
2004-02-12 16:53
2004.02.25
Версии Delphi


1-79762
Vladimir "Chainik"
2004-02-10 14:18
2004.02.25
Оптимизация (ускорение работы) программы


1-79979
Dimich1978
2004-02-13 15:55
2004.02.25
Office & Excel


1-79809
Zheks
2004-02-11 12:02
2004.02.25
Canvas, Shape, стирание того, что нарисовал