Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.05.2008, 15:43
dmdx dmdx вне форума
Начинающий
 
Регистрация: 24.05.2008
Адрес: Москва
Сообщения: 133
Репутация: 15
По умолчанию Работа с Регистром

Всем доброго настроения. люди помогите разобраться. ситуация такая написал dll для работы с регистром типа запись и чтение. Вызываю эти процы и функции из приложения все работают на ура, за исключением одной. Чтение строковой переменной.
код .dll
Код HTML:
library RegDll; uses Registry, windows; var Reg: Tregistry; procedure CreateReg(RootKey: HKEY;Key:string;CanCreate: Boolean); begin Reg:=TRegistry.Create; Reg.RootKey:=RootKey; Reg.OpenKey(Key,CanCreate); end; procedure FreeReg; begin Reg.CloseKey; Reg.Free; end; function ReadIntReg(RootKey:HKEY; Key,Param: string): integer; export; begin CreateReg(RootKey,Key,False); Result:=Reg.ReadInteger(Param); FreeReg; end; function ReadStrReg(RootKey:HKEY; Key,Param: string): String; export; begin CreateReg(RootKey,Key,False); Result:=Reg.ReadString(Param); FreeReg; end; function ReadBoolReg(RootKey:HKEY; Key,Param: string): boolean; export; begin CreateReg(RootKey,Key,False); Result:=Reg.ReadBool(Param); FreeReg; end; procedure WriteBoolReg(RootKey: HKEY;Key,Param:string;Value:boolean); export; begin CreateReg(RootKey,key,True); reg.WriteBool(param,Value); FreeReg; end; procedure WriteIntReg(RootKey: HKEY;Key,Param:string;Value:integer); export; begin CreateReg(RootKey,key,True); reg.WriteInteger(param,Value); FreeReg; end; procedure WriteStrReg(RootKey: HKEY;Key,Param,value:string); export; begin CreateReg(RootKey,key,True); reg.WriteString(param,Value); FreeReg; end; exports ReadIntReg, ReadStrReg, ReadBoolReg, WriteIntReg, WriteBoolReg, WriteStrReg; begin end.

ошибка собственно происходит в функции
function ReadStrReg(RootKey:HKEY; Key,Param: string): String; export;
begin
CreateReg(RootKey,Key,False);
Result:=Reg.ReadString(Param);
FreeReg;
end; // именно в этом месте.

ошибка: invalid pointer operation.

такое впечатление что где то надо сделать очистку именно для переменных string.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:52.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025