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

 
Если они отличаются только буковкой, то нет проблем: в 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 идет лесом.
 
Так что или путь относительно запускаемого файла, или софтлинки или, если поддерживаются - переменные окружения
 
И программа и база лежат в одной папке в Dropbox.
А в AbilityCash.ini написано mru0=финансы.cash