Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Вниз

Сохранение контролов в файл   Найти похожие ветки 

 
Dmitry___   (2007-03-03 16:32) [0]

Привет. Такой вопрос есть. В VCL существует возможность сохранять компоненты в файл и загружать их (TStream - WriteComponentRes). Как реализовать это в KOL?


 
D[u]fa ©   (2007-03-03 17:49) [1]

я могу ошибаться, но вроде ничего спец. для этого нету - значит руками


 
Dmitry___   (2007-03-03 18:22) [2]

То есть? Я немного не в курсе, как это примерно, не подскажешь?


 
D[u]fa ©   (2007-03-04 07:30) [3]

Таким не занимался никогда, без надобности было, попробуй VCL код ковырнуть


 
Dmitriy___   (2007-03-04 09:34) [4]

Да уже пробовал, только в исходниках VCL сам чёрт ногу сломит. К тому же, VCL далёк от KOL, я ничего полезного для себя не извлёк. Пробовал делать примерно так. Создавал, к примеру popup-меню, затем открывал поток, затем писал в него данные по указателю на это меню. Проверял, записывалось всегда нужное количество байт (154 было). Затем читал файл и пытался создавать меню по прочитанным данным. Приваиваю меню контролу, скажем, Memo, и ничего. Меню нет, хотя оно вроде как создано. Или я выбрал слишком примитивный способ?


 
Vladimir Kladov   (2007-03-04 12:05) [5]

Для нас, прошедших путь от перфокарт до современного состояния (нирваны) - все очевидно. Я лично использовал сохранение и загрузку компонентов в поток (в VCL, конечно), только при написании самих (и то далеко не всех) компонентов. Абсолютно не вижу никакого смысла сохранять компоненты в ран-тайме. Если нужно сохранить НЕКОТОРЫЕ свойства конкретных компонентов, для этого есть потоки, ini-файлы, реестр. Подумайте над этим.


 
Dmitriy___   (2007-03-04 12:53) [6]

Мне неведомы перфокарты :)
Относительно проблемы буду более конкретным. Встала задача сохранить менюшку в файл, чтобы потом можно было загрузить её и использовать. Это должен делать пользователь. Он может дизайнить меню любой, так сказать, конфигурации. Так вот, в VCL эта задача решалась крайне просто, в KOL же я не так давно, как в VCL. Думал, есть относительно простые способы решить задачу.
А насчёт сохранения в потоки, файлы, я думал об этом, только немного неудобно это - сохранять конфигурацию в свой формат. И в реализации, и в использовании. Может, кто-то всё же подскажет мне способ  сохранения компонента в файл целиком? Ну хотя бы приблизительно где поискать (кроме VCL)?


 
ANTPro ©   (2007-03-04 15:57) [7]

Тебе же сказали
Получаешь все нужные свойства и их уже сохраняешь.
Кстати надо будет по медитировать над этим :) полезная фича у контролов, как оказалось...


 
Vladimir Kladov   (2007-03-04 16:59) [8]

С меню как раз проще. Посмотрите, как оно строится на уровне простейшего вызова. Надо всего-то построить некоторое количество динамических массивов, и передать конструктору. Я только не очень пойму, как вы собираетесь сохранять обработчики событий (и вообще как пользователь будет это у себя делать). Если только это не один и тот же обработчик, а пункту сопоставляется что-то типа строки запуска.


 
Dmitriy___   (2007-03-04 21:47) [9]


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

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

Помедитируй, помедитируй, а я пока построю свой супер-алгоритм для сохранения структуры и свойств меню в файл. Собственно, я это уже сделал, просто хотелось сделать это по-другому. Ну ладно, раз вы мне советуете, потанцую с бубном.


 
имя   (2007-08-08 22:30) [10]

Удалено модератором


 
имя   (2007-12-25 02:22) [11]

Удалено модератором


 
имя   (2008-01-10 17:50) [12]

Удалено модератором


 
имя   (2008-01-10 17:51) [13]

Удалено модератором


 
имя   (2008-01-10 17:56) [14]

Удалено модератором



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.086 c
2-1236075272
GenaWow
2009-03-03 13:14
2009.04.19
Свйство CharCase у TMemo


15-1234859394
Ega23
2009-02-17 11:29
2009.04.19
знатоки JavaScript, посоветуйте


2-1235726156
Dennis I. Komarov
2009-02-27 12:15
2009.04.19
TField.Value to string


15-1234906202
Юрий
2009-02-18 00:30
2009.04.19
С днем рождения ! 18 февраля 2009 среда


15-1235058988
Turok
2009-02-19 18:56
2009.04.19
Компонент для графика функции sin(x)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский