Вниз
Скачать: CL | DM;

Доброго времени суток , вопрос по работе с реестром   Найти похожие ветки 

← →
SergeyI ©   (2003-06-02 14:54) [0]

Доброго времени суток , вопрос по работе с реестром
пытаюсь создать ODBC источник путём записи в реестр информации
записывает, но после выхода из процедуры вываливается ошибка
нарушение доступа к памяти
вот текст :

begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey("\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources",true);
reg.WriteString("Akonit","Microsoft Visual FoxPro Driver");
reg.CloseKey;

Reg.OpenKey("\SOFTWARE\ODBC\ODBC.INI\Akonit",true);
GetWindowsDirectory(Windir,200);
reg.WriteString("Driver",String(WinDir)+"\System32\vfpodbc.dll");
reg.WriteString("SourceDB",ExtractFileDir(Application.ExeName));
reg.WriteString("Description","Для локальной базы СЕЗАМ");
reg.WriteString("SourceType","DBF");
Reg.WriteString("BackgroundFetch","Yes");
Reg.WriteString("Exclusive","No");
Reg.WriteString("Null","Yes");
Reg.WriteString("Deleted","Yes");
Reg.WriteString("Collate","RUSSIAN");
( "SetNoCountOn","No")
Доброго времени суток , вопрос по работе с реестром
пытаюсь создать ODBC источник путём записи в реестр информации
записывает, но после выхода из процедуры вываливается ошибка
нарушение доступа к памяти
вот текст :

begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey("\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources",true);
reg.WriteString("Akonit","Microsoft Visual FoxPro Driver");
reg.CloseKey;

Reg.OpenKey("\SOFTWARE\ODBC\ODBC.INI\Akonit",true);
GetWindowsDirectory(Windir,200);
reg.WriteString("Driver",String(WinDir)+"\System32\vfpodbc.dll");
reg.WriteString("SourceDB",ExtractFileDir(Application.ExeName));
reg.WriteString("Description","Для локальной базы СЕЗАМ");
reg.WriteString("SourceType","DBF");
Reg.WriteString("BackgroundFetch","Yes");
Reg.WriteString("Exclusive","No");
Reg.WriteString("Null","Yes");
Reg.WriteString("Deleted","Yes");
Reg.WriteString("Collate","RUSSIAN");
Reg.WriteString("SetNoCountOn","No");
reg.CloseKey;
end ;

Где копать ?


← →
Игорь Шевченко ©   (2003-06-02 16:30) [1]

Как объявлена переменная windir ?


← →
SergeyI ©   (2003-06-02 16:56) [2]

(2) pchar


← →
VMcL ©   (2003-06-02 19:14) [3]

>SergeyI © (02.06.03 16:56)

Не вижу выделения под Windir памяти. В описании функции GetWindowsDirectory разве написано, что она сама память выделяет?


← →
SergeyI ©   (2003-06-03 09:08) [4]

>VMcL Спасибо


← →
Lord Warlock ©   (2003-06-03 09:24) [5]

а SQLConfigDataSource не судьба использовать?

Пример:

const StuffConfig: array [0..MAX_PATH] of Char="DSN=stuff"#0"SourceType=DBF"#0"SourceDB=диск:\путь\база";
FoxProDriver: array [0..MAX_PATH] of Char="Microsoft FoxPro VFP Driver (*.dbf)";


if SQLConfigDataSource(0,4,FoxProDriver,StuffConfig) then
Writeln("DSN ODBC "stuff" is added successfully")
else
( "ERROR! Can`t add DSN ODBC "stuff"")
а SQLConfigDataSource не судьба использовать?

Пример:

const StuffConfig: array [0..MAX_PATH] of Char="DSN=stuff"#0"SourceType=DBF"#0"SourceDB=диск:\путь\база";
FoxProDriver: array [0..MAX_PATH] of Char="Microsoft FoxPro VFP Driver (*.dbf)";


if SQLConfigDataSource(0,4,FoxProDriver,StuffConfig) then
Writeln("DSN ODBC "stuff" is added successfully")
else
Writeln("ERROR! Can`t add DSN ODBC "stuff"");


← →
Lord Warlock ©   (2003-06-03 09:27) [6]

К этому же прилагается:

interface

{$EXTERNALSYM SQLConfigDataSource}
function SQLConfigDataSource(hwnd: HWND; fRequest: UINT;lpszDriver:PChar;lpszAttributes:PChar): BOOL;stdcall;

implementation
function SQLConfigDataSource; external "odbccp32.dll" name "SQLConfigDataSource";


← →
n0wheremany   (2003-06-07 00:05) [7]

Чувак надо освобождать память - reg.free!!!1
Запомни это!!
Этот пример аналогичен типу Tstrings!! и многим другим такимже!



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
6-68433
Plaha999
2003-06-17 15:13
2003.08.21
TWebBrowser


9-68139
Anlide
2003-02-19 03:29
2003.08.21
Как в D3D сделать правелное отображение мыши?


1-68266
sewix
2003-08-08 15:52
2003.08.21
Memo строки разного цвета


14-68525
Khloo!
2003-08-06 11:32
2003.08.21
Работа с таблицей


14-68513
Yuraz
2003-08-05 16:51
2003.08.21
MicroSoft при установке Win98 и др. считывает с БИОС дату




   Наверх