Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
4-68591
bitman
2003-06-18 14:32
2003.08.21
измение фонта меню


14-68523
Calm
2003-08-05 11:22
2003.08.21
Можно ли воспользоваться ассеблером для вывода изображения?


1-68260
ossa
2003-08-07 10:08
2003.08.21
есть компонента OpenDialog1 нужно ей в Options выставить


3-68167
Mypp
2003-07-29 09:46
2003.08.21
Хранимые процедуры


3-68186
Relaxxx
2003-07-28 18:17
2003.08.21
Как мне получить имя выделенной записиопределенного столбца





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский