Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: ARV от 22 Ноября 2024, 08:57:13
-
По-моему, я обнаружил еще одну ошибку.
Функции FileExists и функции семейства TextFileXXXX по умолчанию используют путь к папке проекта на сервере, который, как правило, для записи доступен.
А вот метод TM_StringList.SaveToFile по умолчанию пытается писать в подпапку Program Files, которая от записи по умолчанию защищена.
Поскольку по умолчанию используется подпапка, правильное имя которой программно узнать нельзя, возникает сложность в сохранении и загрузке списков строк в скриптах.
По-моему, надо привести пути по умолчанию для всех функций файлового ввода-вывода к единообразию. Либо добавить функцию GetUserFilePath.
-
Здравствуйте.
У функций FileExists, FileRecreate, FileOpen, TextFileOpen, LoadCalibration есть отдельный параметр для указания пути, который можно оставить пустым, тогда будет взят путь к папке "User files\" в папке проекта, как сказано в руководстве. Остальные функции (DirectoryExists, CreateDirectory, ForceDirectories, DeleteDirectory, DeleteFile, CopyFile, FileAge, ScanDirectory, FileSetAttr, TM_StringList.SaveToFile) используют полный путь и просто вызывают соответствующие им методы Delphi.
Либо добавить функцию GetUserFilePath.
Добавим в ближайшее обновление. Сейчас можно получить путь так: GetProjectPath + 'User files\'
-
Спасибо
-
Добавили функцию GetUserFilesPath (https://simple-scada.com/help/script/getuserfilespath.html) в обновление 2.6.15.0.
-
Спасибо!
Однако, редактор не показывает её в списке подстановок по Ctrl-Space.
И еще: надо бы где-то описать, что эта самая папка 'User files' должна создаваться в папке проекта вручную.
-
Однако, редактор не показывает её в списке подстановок по Ctrl-Space.
Добавили в список методов в редакторе (обновлённую версию 2.6.15.0 можно скачать по прежним ссылкам).