Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2011, 09:49   #1
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию Сохранение параметров плагина в ини

Собственно проблема такова.
Есть несколько программ, написан к ним плагин.
Все программы совместимые.

На событие OnDestroy формы плагина происходит сохранение настроек в ини файл.
С несколькими программами проблем нет, в одной сохранение не происходит.
Пытался подключить апи конкретной программы - результат тот же.
Где копать не знаю.
Может кто сталкивался с подобной проблемой?
z-wer вне форума Ответить с цитированием
Старый 03.10.2011, 10:01   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

как сохраняете то?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.10.2011, 10:32   #3
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

обычный ини файл.
Типа процедуры SaveParams повешена на событие формы плагина OnDrestroy.
z-wer вне форума Ответить с цитированием
Старый 03.10.2011, 10:39   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

как вы создаете файл, я конечно телепат со стажем, но знаете, телепатировать не люблю.(просто как открываете файл достаточно)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.10.2011, 11:30   #5
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

пример.
TForm - это форма плагина.

Цитата:
procedure TForm1.ReadParams;
// чтение настроек программы
var
ini: TIniFile;
begin
ini := TIniFile.Create(FilePath + 'Pos.ini');
Count := ini.ReadInteger('Digit', 'Count', 0);
Step := ini.ReadInteger('Digit', 'Steps', 5);
ini.Free;
end;

procedure TForm1.SaveParams;
// сохранение настроек программы
var
ini: TIniFile;
begin
ini := TIniFile.Create(FilePath + 'Pos.ini');
ini.WriteInteger('Digit', 'Count', Count);
ini.WriteInteger('Digit', 'Steps', Step);
ini.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
if (FileSearch(Pos.ini')) then
ReadParams
else
.....
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
SaveParams;
....
end;
z-wer вне форума Ответить с цитированием
Старый 03.10.2011, 11:34   #6
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Наверное проблема в том, что нужно использовать полный путь. Дело в том, что если программа запускается с ярлыка и у него изменено свойство "Рабочая папка" то относительный путь может измениться.
А исключение вызывается?
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 03.10.2011, 11:45   #7
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

FilePath - эта функция вычисления полного пути.

К примеру имею 4 проги, к которым написан плагин.
прога 1 - все ок
прога 2 - все ок
прога 3 - все ок
прога 4 - плагин читает настройки, при выходе из программы 4 просто нет сохранения в инишку.
Все программы полностью совместимые, все функции заложенные в плагине выполняются полностью, кроме сохранения в ини в проге 4.

Последний раз редактировалось z-wer; 03.10.2011 в 11:52.
z-wer вне форума Ответить с цитированием
Старый 03.10.2011, 12:55   #8
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

код функции FilePath пожалуйста
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 03.10.2011, 12:56   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
FilePath - эта функция вычисления полного пути.
А если ее копнуть? Код FilePath покажите
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.10.2011, 13:28   #10
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

копайте, но не в ней дело
Цитата:
function TForm1.FilePath: String;
// путь к файлам настроек
var
FileName: array[0..MAX_PATH] of Char;
begin
FillChar(FileName, SizeOf(FileName), #0);
GetModuleFileName(hInstance, FileName, MAX_PATH);
Result := ExtractFilePath(FileName);
end;
С остальными прогами все нормально работает.
z-wer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PageSetupDialog сохранение параметров st.paul Общие вопросы Delphi 1 07.01.2011 23:30
сохранение и применение параметров.... Vladya Помощь студентам 5 24.01.2010 04:49
сохранение параметров формы в Delphi TaYgA Помощь студентам 15 25.10.2009 19:13
Сохранение положения сплиттеров в ини файле mutabor Общие вопросы Delphi 10 11.09.2009 17:23
Сохранение параметров программы... Roof Общие вопросы Delphi 10 11.10.2007 08:22