Конференция "KOL" » Сохранение контролов в файл [Delphi, Windows]
 
  • Dmitry___ (03.03.07 16:32) [0]
    Привет. Такой вопрос есть. В VCL существует возможность сохранять компоненты в файл и загружать их (TStream - WriteComponentRes). Как реализовать это в KOL?
  • D[u]fa © (03.03.07 17:49) [1]
    я могу ошибаться, но вроде ничего спец. для этого нету - значит руками
  • Dmitry___ (03.03.07 18:22) [2]
    То есть? Я немного не в курсе, как это примерно, не подскажешь?
  • D[u]fa © (04.03.07 07:30) [3]
    Таким не занимался никогда, без надобности было, попробуй VCL код ковырнуть
  • Dmitriy___ (04.03.07 09:34) [4]
    Да уже пробовал, только в исходниках VCL сам чёрт ногу сломит. К тому же, VCL далёк от KOL, я ничего полезного для себя не извлёк. Пробовал делать примерно так. Создавал, к примеру popup-меню, затем открывал поток, затем писал в него данные по указателю на это меню. Проверял, записывалось всегда нужное количество байт (154 было). Затем читал файл и пытался создавать меню по прочитанным данным. Приваиваю меню контролу, скажем, Memo, и ничего. Меню нет, хотя оно вроде как создано. Или я выбрал слишком примитивный способ?
  • Vladimir Kladov (04.03.07 12:05) [5]
    Для нас, прошедших путь от перфокарт до современного состояния (нирваны) - все очевидно. Я лично использовал сохранение и загрузку компонентов в поток (в VCL, конечно), только при написании самих (и то далеко не всех) компонентов. Абсолютно не вижу никакого смысла сохранять компоненты в ран-тайме. Если нужно сохранить НЕКОТОРЫЕ свойства конкретных компонентов, для этого есть потоки, ini-файлы, реестр. Подумайте над этим.
  • Dmitriy___ (04.03.07 12:53) [6]
    Мне неведомы перфокарты :)
    Относительно проблемы буду более конкретным. Встала задача сохранить менюшку в файл, чтобы потом можно было загрузить её и использовать. Это должен делать пользователь. Он может дизайнить меню любой, так сказать, конфигурации. Так вот, в VCL эта задача решалась крайне просто, в KOL же я не так давно, как в VCL. Думал, есть относительно простые способы решить задачу.
    А насчёт сохранения в потоки, файлы, я думал об этом, только немного неудобно это - сохранять конфигурацию в свой формат. И в реализации, и в использовании. Может, кто-то всё же подскажет мне способ  сохранения компонента в файл целиком? Ну хотя бы приблизительно где поискать (кроме VCL)?
  • ANTPro © (04.03.07 15:57) [7]
    Тебе же сказали
    Получаешь все нужные свойства и их уже сохраняешь.
    Кстати надо будет по медитировать над этим :) полезная фича у контролов, как оказалось...
  • Vladimir Kladov (04.03.07 16:59) [8]
    С меню как раз проще. Посмотрите, как оно строится на уровне простейшего вызова. Надо всего-то построить некоторое количество динамических массивов, и передать конструктору. Я только не очень пойму, как вы собираетесь сохранять обработчики событий (и вообще как пользователь будет это у себя делать). Если только это не один и тот же обработчик, а пункту сопоставляется что-то типа строки запуска.
  • Dmitriy___ (04.03.07 21:47) [9]

    >  только не очень пойму, как вы собираетесь сохранять обработчики
    > событий

    А я не буду их сохранять :) Обработчик всегда один и не меняется. Так надо ;)
    > Кстати надо будет по медитировать над этим

    Помедитируй, помедитируй, а я пока построю свой супер-алгоритм для сохранения структуры и свойств меню в файл. Собственно, я это уже сделал, просто хотелось сделать это по-другому. Ну ладно, раз вы мне советуете, потанцую с бубном.
  • имя (08.08.07 22:30) [10]
    Удалено модератором
  • имя (25.12.07 02:22) [11]
    Удалено модератором
  • имя (10.01.08 17:50) [12]
    Удалено модератором
  • имя (10.01.08 17:51) [13]
    Удалено модератором
  • имя (10.01.08 17:56) [14]
    Удалено модератором
 
Конференция "KOL" » Сохранение контролов в файл [Delphi, Windows]
Есть новые Нет новых   [134431   +10][b:0][p:0.001]