Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Информация о предыдущем запуске проги


Автор: Avers 16.9.2008, 11:24
Как получить информацию о последнем удачном запуске программы?
Как вообще это делается?
Есть приложение, подключающееся к базе данных. Нужно при посторном запуске программы азполнить поле "Login" тем именем, кто последним сделал удачный запуск (запуск данной копии проги на данном компьютере).
Есть модуль (уже готовый) в котором все это замечательно работает. Но стоит мне упоказвать его в пакет .bpl... запускается каждый раз с пустым полем "Пользователь". :(
Если можно, дайте ссылочку на соответствующую инфу.

Автор: morpheyushka 16.9.2008, 12:09
Цитата(Avers @  16.9.2008,  11:24 Найти цитируемый пост)
Как получить информацию о последнем удачном запуске программы?
Как вообще это делается?

Можно использовать *.ini файлы smile 

Автор: Avers 16.9.2008, 16:07
Дело в том, что эта информация есть где-то в системе... ее бы достать. 

Автор: CodeMonkey 16.9.2008, 16:24
Не ясно. Программа ваша или нет? Писали вы или нет?
Если ваша, то вы что не можете открыть unit с формой и посмотреть куда/откуда он пишет/читает настройки?

Нет никакого понятия "удачный запуск программы". Сама программа в определённый момент времени решает записать свои настройки в реестр или в файл. При следующем запуске она их оттуда читает. Всё. Точка.

Автор: aktuba 16.9.2008, 17:52
Цитата(Avers @  16.9.2008,  17:07 Найти цитируемый пост)
Дело в том, что эта информация есть где-то в системе... ее бы достать.  

Не факт... Система фиксирует запуск программы, но не факт, что он удачный.

Автор: Avers 17.9.2008, 10:20
Модуль писал не я. Но сейчас рабоать с ним приходится мне. 
Ни в одной строке модуля обращения к реестру нет. 
Максимум чтение из командной строки ParamStr(). 
После того, как я меняю cxTextEdit (для имени пользователя) на стандартный TEdit (чтобы не таскать за bpl-кой cxКомпоненты), так эта заместальная способность (при запуске самостоятельно заполнять EditLogin) пропадает.
К слову у стандартного TEdit сохраняю имя и свойства предыдущего TcxTextEdit - дабы не менялся код программы. 

Автор: CodeMonkey 17.9.2008, 10:56
Цитата(Avers @  17.9.2008,  10:20 Найти цитируемый пост)
Ни в одной строке модуля обращения к реестру нет. 

Посмотрите поиском обращение к Edit-у имени пользователя во всех модулях программы. 
Проверьте, не используются ли в проекте компоненты для сохранения состояния окон типа TJvFormStorage.
В частности, поскольку у вас используются компоненты Dev Express (типа, об этом не надо было в вопросе говорить, да? Та чё там, тут телепаты ведь сидят), то проверьте наличие и свойства таких компонент, как, например, TcxPropertiesStore.

Автор: Avers 17.9.2008, 11:02
Пасиба)
На счет компонентов TcxPropertiesStore и TJvFormStorage не знал.
Пошел искать)

Добавлено через 11 минут и 3 секунды
Стыдно....
Как раз TcxPropertiesStore и стояло...  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)