Форум: "Система";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];
ВнизДоброго времени суток , вопрос по работе с реестром Найти похожие ветки
← →
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 вся ветка
Форум: "Система";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c