![]() |
Delphi: Ошибка при записи в реестр функцией RegSetValueExW
Я юзаю Delphi 2007 и TMS Unicode Components Pack 1.7.0.2 (бывшие TNT Unicode Controls).
Подключаю в uses юнит TntRegistry. В коде: Код:
if myreg.OpenKey('*\shell\MyApp\command',True)Изучаю функцию WriteString. Её код (лишнее удалено): Код:
procedure TTntRegistry.WriteString(const Name, Value: WideString);Код:
procedure TTntRegistry.PutData(const Name: WideString; Buffer: Pointer; |
GetLastError еще никто не отменял между прочим, да и eregistryexception должен чего нить выдавать если есть причина.
upd: sysutils.SysErrorMessage(GetLastError); // вернет string |
Ладно, посмотрю, что не так.
Ошибка - "Failed to set data for ''." То есть не может записать в значение ''. Подставлял 'test', выдает "Failed to set data for 'test'." В Delphi IDE после ошибки при нажатии в сообщении кнопки 'Break' открывается юнит TntRegistry и показывает функцию TTntRegistry.PutData. Видимо RegSetValueExW некорректно работает. Также у меня возникала ошибка с функцией SHFileOperationW из ShellAPI. SHFileOperation и SHFileOperationA работают, а она нет. |
| Время: 17:49 |