logo
logo

Форум AbilityCash и SkyDrive

создать новую тему раскрыть все
AbilityCash и SkyDrive adla 22/12/2012 02:16 #написать ответ
Пользуюсь вашей замечательной программой уже давно. Последний пару лет синхронизировал свою программу и файл данных с помощью Live Mesh. Но Mesh закрывают, остается только SkyDrive.
 
Проблема в том, что он хранит все в профиле пользователя и, соответсвенно, на разных компах пути к базе отличаются.
 
Посоветуйте как настроить ini файл, чтобы работало?
Никогда не пробовал SkyDrive, поэтому... Dervish 22/12/2012 23:01 #написать ответ
...трудно мне давать конкретные рекомендации. В частности, мне неизвестно что именно означает следующая фраза:
на разных компах пути к базе отличаются.

 
Если они отличаются только буковкой, то нет проблем: в ini-файле следует лишь убрать эту самую буковку.
 
Вообще, нужно помнить, что путь доступа к файлу данных отсчитывается от папки, в которой работает программа. Если сама программа находится на том же самом диске, то абсолютный путь следует заменить на относительный и все.
 
Поскольку программа пытается перезаписать ini-файл при своем закрытии, во время этой записи относительный путь будет заменен на абсолютный и при попытке запустить программу на другом компьютере, файл данных не будет найден. Чтобы этого не произошло, на ini-файл следует поставить признак "Только для чтения".
 
И еще один способ: если на одном компьютере СкайДрайв всегда присоединяется по одному и тому же пути, можно вообще удалить ini-файл и все пути будут сохраняться в реестре и никаких проблем не будет. Вот только на компьютере останется след AbilityCash в реестре.
Skydrive adla 23/12/2012 01:57 #написать ответ
SkyDrive синхронизирует данные межку компами и в облаке. Местоположение локальной копии данных он выводит в Favorites, а сама папка, физически, лежит в профиле пользователя, а именно "C:\Users\userlogin\SkyDrive" это для Windows 7
 
Т.к. компов у меня несколько и логины отличаются,то и пути разные. Опять же, в случае XP будет не "C:\Documents and settings\userlogin\SkyDrive"
 
Отсюда вопрос, можно ли в пути в ini файле использовать переменные окружения? Если нет, то можно ли попросить поддержки такого варианта? В переменной userprofile как раз это хранится
Понятно. Dervish 27/12/2012 23:46 #написать ответ
Есть еще один вариант решения этой проблемы: если сама AbilityCash хранится в SkyDrive (а я понимаю, что так оно и есть, иначе бы не стоял вопрос переназначения путей), то можно указать не абсолютный, а относительный путь к файлам данных. Скажем, если AbilityCash находится на диске в папке \Programs\AbilityCash, а файлы данных в папке \Documents\Datafiles, то путь можно указать вот так: "..\..\Documents\Datafiles\my-money.cash"
 
Это решение подойдет?
skydrive adla 03/01/2013 23:22 #написать ответ
Если можно указать относильно программы, то тогда да. Т.е. если можно указать .\my-money.cash (и программа и файл данных в одной папке). Иначе - путь на разных компах будет разный.
 
На Vista/Windows7/windows 8 можно "обмануть" через softlink (команда mklink). Но тогда XP идет лесом.
 
Так что или путь относительно запускаемого файла, или софтлинки или, если поддерживаются - переменные окружения
У меня именно так и работает Дим(м) 07/01/2013 15:50 #написать ответ
И программа и база лежат в одной папке в Dropbox.
А в AbilityCash.ini написано mru0=финансы.cash