![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ParamStr() [D6]
misha_gr © (2007-11-09 14:08:00)Проблема такая: есть приложение, которое регистрирует в реестре "под себя" некое расширение файлов. Например ".abcde". Соответственно, сделав даблклик на файле с таким расширением, пользователь может загрузить программу со сразу же загруженным файлом. Но у пользователя возникают проблемы. Вместо имени файла в ParamStr(1)
'C:\Renoir_Partie-071017-sk.abcde' приходит примерно такая строка: 'C:\RENOIR~1.abc';
Ситуация усложняется тем что: 1) я таких ситуаций у себя не наблюдаю. 2) Заказчик компилирует у себя исходный код, по своему - моих экзешников не признает.
В чём засада?
// Загрузка файла примерно так:
if (ParamCount > 0) then
if (ExtractFileExt(ParamStr(1)) = csExt) then begin
LoadWorkFromFile(ParamStr(1));
end;
// Регистрация в реест идет примерно так:
procedure UpdateRegistryRec;
var Reg : TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\Software\Classes\.abcde\', True)
then Reg.WriteString('','abcde_auto_file');
if Reg.OpenKey('\Software\Classes\abcde_auto_file', true)
then Reg.WriteString('', 'Abcde save file');
if Reg.OpenKey('\Software\Classes\akira3_auto_file\shell\open\command', true)
then Reg.WriteString('', Application.ExeName + ' "%1"');
finally
Reg.CloseKey;
Reg.Free;
end;
end;
misha_gr (2007-11-13 12:08:00) [1]Извиняюсь за длительное отсутсвие.
> откуда он запускает этот файл?
уточню.
> наверное с ярлыка, у которого рабочий каталог прописан как 8.3
мысль понял, уточню.
Спасибо.
clickmaker (2007-11-09 15:56:00) [2]
> [3] Reindeer Moss Eater © (09.11.07 14:19)
а может, из NC или DN под ДОСом? )
Reindeer Moss Eater (2007-11-09 14:19:00) [3]откуда он запускает этот файл?
наверное с ярлыка, у которого рабочий каталог прописан как 8.3
clickmaker (2007-11-09 14:18:00) [4]
> Вместо имени файла в ParamStr(1)
> 'C:\Renoir_Partie-071017-sk.abcde' приходит примерно такая
> строка: 'C:\RENOIR~1.abc';
откуда он запускает этот файл?
Reindeer Moss Eater (2007-11-09 14:18:00) [5]'C:\Renoir_Partie-071017-sk.abcde' приходит примерно такая строка: 'C:\RENOIR~1.abc';
Все в норме. Не надо бояться.