Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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';

Все в норме. Не надо бояться.


Наверх

Титульная страница Поиск, карта сайта Написать письмо