Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2008, 12:55   #1
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
Восклицание Помогите советом

Подскажите пожалуйста такой вопрос:
Ассоциирую текстовые файлы через реестр,
вношу через Formcreate следующий код-
procedure Tform1.reestr;
var
reg:TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
reg.OpenKey('.txt',true);
reg.WriteString('', 'Let_txt_v1');
reg.CloseKey;
reg.Free;
end;
Все работает нормально,но только добавляю
еще один код чтобы открывалось моей программой
по умолчанию :

reg.RootKey := HKEY_USERS;
reg.OpenKey('S-1-5-21-790525478-2000478354-725345543-1003\Software\Microsoft\Windows\Cur rentVersion\Explorer\FileExts\.txt\ OpenWithList',true);
reg.WriteString('', 'Let_txt_v1');
reg.CloseKey;

Когда вставляю этот код,компилируется все нормально,
но при открытии программы выскакивает окно с ошибкой:
Эта ошибка выскакивает если Delphi открыт-
Project Project1.exe raised exception class ERegistryException
with message 'Failed to set data for'''.Process stopped.Use Step
or Run to continue.
А если проект откомпилирован и сохранен,то при запуске выскакивает
вот такая ошибка-
'Failed to set data for'
Нажимаешь OK и программа работает нормально дальше,а если
убрать последний код то все нормально запускается,вообщем дело
в последнем коде,а что именно не пойму
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 24.05.2008, 13:03   #2
ReacXX
 
Регистрация: 23.05.2008
Сообщений: 7
По умолчанию

Тебе надо ещё сделать правильное открытие а то чем он будет открывать? Допустем у тебя есть TMemo и реестр ты сделал чтоб через реестр открывалось и вот всё скомпилировал а потом... Пошол искать файл *.txt вот нашол ты подходящий и решил открыть вот он тебе его открывает с ошибкой надо ещё указать куда текст добовлять...
ReacXX вне форума Ответить с цитированием
Старый 24.05.2008, 13:24   #3
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Цитата:
Сообщение от ReacXX Посмотреть сообщение
Тебе надо ещё сделать правильное открытие а то чем он будет открывать? Допустем у тебя есть TMemo и реестр ты сделал чтоб через реестр открывалось и вот всё скомпилировал а потом... Пошол искать файл *.txt вот нашол ты подходящий и решил открыть вот он тебе его открывает с ошибкой надо ещё указать куда текст добовлять...
Дело наверное не в этом,просто моя программа не может прописаться в реестр,а именно второй код,а вот почему не знаю
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 24.05.2008, 13:31   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Михаил Юрьевич, а Вы вот этот "S-1-5-21-790525478-2000478354-725345543-1003" SID вообще проверяли? Он откуда вообще взялся? Это как бы случайным образом генерируемое при регистрации учётной записи "число".
B_N вне форума Ответить с цитированием
Старый 24.05.2008, 13:38   #5
ReacXX
 
Регистрация: 23.05.2008
Сообщений: 7
По умолчанию

Опа точно не заметил Михаил а B_N прав токо у тебя такой SID а к другим он не зарегистрируется. У меня например вот такой SID
Код:
S-1-5-21-436374069-484763869-1801674531-1004
ReacXX вне форума Ответить с цитированием
Старый 24.05.2008, 14:00   #6
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Цитата:
Сообщение от ReacXX Посмотреть сообщение
Опа точно не заметил Михаил а B_N прав токо у тебя такой SID а к другим он не зарегистрируется. У меня например вот такой SID
Код:
S-1-5-21-436374069-484763869-1801674531-1004
Если это так то программа не найдет путь на другом ПК,но она и на моем не прописывается где этот адрес есть
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 24.05.2008, 14:03   #7
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Пишите в HKCU или HKLM.
B_N вне форума Ответить с цитированием
Старый 24.05.2008, 14:14   #8
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Цитата:
Сообщение от B_N Посмотреть сообщение
Пишите в HKCU или HKLM.
При компиляции выдает ошибку что написано с орфографическими ошибками.
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 24.05.2008, 14:17   #9
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию

Вот в этой строке нет ошибки,в самих кавычках ''
reg.RootKey := HKEY_USERS;
reg.OpenKey('S-1-5-21-790525478-2000478354-725345543-1003\Software\Microsoft\Windows\Cur rentVersion\Exp lorer\FileExts\.txt\OpenWithList',t rue);
reg.WriteString('', 'Let_txt_v1');
reg.CloseKey
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите советом Михаил Юрьевич Общие вопросы Delphi 5 31.05.2008 16:38
Помогите советом ! Михаил Юрьевич Общие вопросы Delphi 2 16.05.2008 23:51
Помогите советом плз Nanna2 Помощь студентам 1 14.05.2008 22:16
Помогите советом AlexTIX Помощь студентам 2 25.11.2007 19:58