![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Есть вот такая структурка
Код:
// Запись настройки Settings = record Name: String[255]; // Наименование настройки DBPath: String[255]; // Путь к базе DBUserName: String[100]; // Имя пользователя DBUserPassword: String[50]; // Пароль пользователя DBType: Byte; // Тип базы данных (0 - файловая, 1-серверная) ExchangeCode: String[10]; // Код настройки обмена end; // Коллекция настроек SettingsData = record RunPath: String[255]; // Путь запуска 1С Предприятия Data: Array[0..49] of Settings; // Массив настроек Count: Byte; // Количество записей end; Код:
procedure SaveSettingsDB(); var SettingsFile: file of SettingsData; begin AssignFile(SettingsFile, 'Settings.dat'); Rewrite(SettingsFile); Write(SettingsFile, MainData); CloseFile(SettingsFile); end; Проблема в следующем: - Если есть записи в MainData.Data - все хорошо сохраняется, но если заполнить просто MainData.RunPath, а MainData.Data не трогать, то файл вообще не создается. Вопрос: Почему так происходит и как это побороть? Последний раз редактировалось Admin, 19.05.2009 в 10:17. |
#2
|
||||
|
||||
![]() Немного разобрался
Код:
procedure TfrmSettings.btOpenPath1CClick(Sender: TObject); begin OpenDialog.Filter:='Файл запуска 1С Предприятия|1cv8.exe'; OpenDialog.Title:='Укажите путь запска 1С Предприятия'; if OpenDialog.Execute then begin EditPath1C.Text:= OpenDialog.Files[0]; MainData.RunPath:=EditPath1C.Text; end; OpenDialog.Destroy; end; Если OpenDialog не вызывать, а EditPath заполнять руками и потом MainData.RunPath:=EditPath1C.Text; ...то все работает. Подскажите, как это лечить? Последний раз редактировалось Admin, 19.05.2009 в 10:17. |
#3
|
||||
|
||||
![]() Ошибка не здесь. И судя по этой строке:
Код:
OpenDialog.Destroy; Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#4
|
||||
|
||||
![]() Может и так
![]() Но факт остается фактом, если выбор файла все таки произошел через OpenDialog, то Settings.dat не создается |
#5
|
||||
|
||||
![]() Полный код модуля в студию!
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
||||
|
||||
![]() Странно как-то просто
Последний раз редактировалось Alxd, 19.05.2009 в 22:34. |