-
Привет. Такой вопрос есть. В VCL существует возможность сохранять компоненты в файл и загружать их (TStream - WriteComponentRes). Как реализовать это в KOL?
-
я могу ошибаться, но вроде ничего спец. для этого нету - значит руками
-
То есть? Я немного не в курсе, как это примерно, не подскажешь?
-
Таким не занимался никогда, без надобности было, попробуй VCL код ковырнуть
-
Да уже пробовал, только в исходниках VCL сам чёрт ногу сломит. К тому же, VCL далёк от KOL, я ничего полезного для себя не извлёк. Пробовал делать примерно так. Создавал, к примеру popup-меню, затем открывал поток, затем писал в него данные по указателю на это меню. Проверял, записывалось всегда нужное количество байт (154 было). Затем читал файл и пытался создавать меню по прочитанным данным. Приваиваю меню контролу, скажем, Memo, и ничего. Меню нет, хотя оно вроде как создано. Или я выбрал слишком примитивный способ?
-
Для нас, прошедших путь от перфокарт до современного состояния (нирваны) - все очевидно. Я лично использовал сохранение и загрузку компонентов в поток (в VCL, конечно), только при написании самих (и то далеко не всех) компонентов. Абсолютно не вижу никакого смысла сохранять компоненты в ран-тайме. Если нужно сохранить НЕКОТОРЫЕ свойства конкретных компонентов, для этого есть потоки, ini-файлы, реестр. Подумайте над этим.
-
Мне неведомы перфокарты :) Относительно проблемы буду более конкретным. Встала задача сохранить менюшку в файл, чтобы потом можно было загрузить её и использовать. Это должен делать пользователь. Он может дизайнить меню любой, так сказать, конфигурации. Так вот, в VCL эта задача решалась крайне просто, в KOL же я не так давно, как в VCL. Думал, есть относительно простые способы решить задачу. А насчёт сохранения в потоки, файлы, я думал об этом, только немного неудобно это - сохранять конфигурацию в свой формат. И в реализации, и в использовании. Может, кто-то всё же подскажет мне способ сохранения компонента в файл целиком? Ну хотя бы приблизительно где поискать (кроме VCL)?
-
Тебе же сказали Получаешь все нужные свойства и их уже сохраняешь. Кстати надо будет по медитировать над этим :) полезная фича у контролов, как оказалось...
-
С меню как раз проще. Посмотрите, как оно строится на уровне простейшего вызова. Надо всего-то построить некоторое количество динамических массивов, и передать конструктору. Я только не очень пойму, как вы собираетесь сохранять обработчики событий (и вообще как пользователь будет это у себя делать). Если только это не один и тот же обработчик, а пункту сопоставляется что-то типа строки запуска.
-
> только не очень пойму, как вы собираетесь сохранять обработчики > событий
А я не буду их сохранять :) Обработчик всегда один и не меняется. Так надо ;) > Кстати надо будет по медитировать над этим
Помедитируй, помедитируй, а я пока построю свой супер-алгоритм для сохранения структуры и свойств меню в файл. Собственно, я это уже сделал, просто хотелось сделать это по-другому. Ну ладно, раз вы мне советуете, потанцую с бубном.
-
Удалено модератором
-
Удалено модератором
-
Удалено модератором
-
Удалено модератором
-
Удалено модератором
|