Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#46: 2008-08-29 13:30:36 ЛС | профиль | цитата
nesco писал(а):
давай в дальнейшем не путать "теплое" с "мягким"
Давай!
Проще некуда.
1.Создаем схемку

Add(Edit,2768205,168,21)
{
Left=165
Top=20
Text="Проба"
}
Add(IntegerArray,972767,168,77)
{
IntArray=[]
}
2. Сохраняем.
3. При изменении любого свойства или добавлении точки в Edit, активизируется "Сохранить" (значёк дискетка) - считаю, что это совершенно справедливо и правильно.
4. А вот при изменении содержимого IntegerArray (заношу константы при создании схемы) - этого (активизации) не происходит. И для того, чтобы активизировать кнопку "Сохранить" (чтобы сохранились введенные данные), нужно подвигать любым элементом схемы.

Если считаешь, что это правильно. значит у меня в руках и "теплое и мягкое" , но не баба. Точно.
nesco писал(а):
молчат все
это не подход. Ну живут еще в СССР.
------------ Дoбавленo:
nesco писал(а):
продолжать дальше эту тему или плюнуть на нее
Ну плевать не надо - самая сумасбродная идея заслуживает внимания.
nesco, Про время -по честному, то незнаю.
У меня обновление автоматом в 7:00 ( когда с псом бегаем на море ).
Единственное - Elements.sql > Elements.db пока делаю вручную/
Никак руки не доходят создавать ElemNew.sql - выбирать в него, измененные строки.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#47: 2008-08-29 13:35:11 ЛС | профиль | цитата
Tad писал(а):
3. При изменении любого свойства или добавлении точки в Edit, активизируется "Сохранить" (значёк дискетка) - считаю, что это совершенно справедливо и правильно.

Да, знаю такое, бывает иногда, но простите, так работает среда, причем здесь менеджеры сохранения, которые попадают в целевой код и работают в твоей проге
Или тут нет разницы, я что-то не пойму
------------ Дoбавленo:

Tad писал(а):
Если считаешь, что это правильно

Не считаю, но к компонентам это никак не относится
------------ Дoбавленo:

Tad писал(а):
это не подход

Не понял, что, никто не тестирует, что ли
А я тут извращаюсь, млин. Ну вас всех в пень, пусть все будет "как есть"
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#48: 2008-08-29 13:44:02 ЛС | профиль | цитата
nesco писал(а):
причем здесь менеджеры сохранения
Совершенно не причем ,
просто твое замечание о "подвигать" напомнило об IntegerArray
------------ Дoбавленo:

nesco писал(а):
Не понял, что, никто не тестирует, что ли
Я пока нетестирую, т.к. запретил автообновление Win.pas (ParentColor там у меня), так что корректировать его буду вручную часов в 8-9 вечера, не раньше. После этого скажу.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#49: 2008-08-29 13:45:54 ЛС | профиль | цитата
Tad писал(а):
просто твое замечание о "подвигать" напомнило об IntegerArray

Я пытался реализовать сохранение при любом чихе, особенно в Edit и CheckBox'e
------------ Дoбавленo:

Tad писал(а):
ParentColor там у меня

Кстати, я так и не услышал ответ от спецов по этому вопросу, корректно ли это вообще делать
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#50: 2008-08-29 13:49:49 ЛС | профиль | цитата
nesco, я не о менеджере - ну не видел я его. В кодах посмотрел и все.
И так и не понял: Почему я не могу поставить один (или десять) на главной форме а в свойствах компонента ( к примеру в Edit и CheckBox'e) выбирать нужный из списка (по аналогии с Hint) ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 5227
Рейтинг: 585
#51: 2008-08-29 13:52:16 ЛС | профиль | цитата
nesco, желание не только тестировать но и использовать было довольно большое но после безуспешных попыток собрать рабочий кодогенератор желание пропало, неохото всё подряд качать, все элементы которые были в архиве я сменил. с инструкцией http://www.hiasm.com/profile.html?q=45&p=167 я ознакомлен и вот это

Шаг 7. Если у Вас были установлены дополнительные компоненты, Вам придётся их переустановить.


у меня окончательно всю охоту отбило.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 5446
Рейтинг: 323
#52: 2008-08-29 13:55:08 ЛС | профиль | цитата
anderstudio, а в чём собственно проблема с переустановкой элементов? Написать один раз в блокноте his-файл для установки всего чего надо (файлы-то останутся, надо только в elements.db прописать!) - это сложно?
карма: 1

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#53: 2008-08-29 14:09:41 ЛС | профиль | цитата
Tad писал(а):
Почему я не могу поставить один (или десять) на главной форме а в свойствах компонента ( к примеру в Edit и CheckBox'e) выбирать нужный из списка (по аналогии с Hint) ?

Ни хрена не понял, чего один или десять, мешков, что ли
В менеджере по-умочанию прописаны все свойства, которые можно сохранить, но не все они есть у всех компонентов. Из списка можно выбрать только то, что нужно сохранять, остальные можно вытереть, но это будет для каждого компонента, тк для каждого свой менеджер
------------ Дoбавленo:

Кажется я понял, о чем ты спрашиваешь
Tad писал(а):
( к примеру в Edit и CheckBox'e) выбирать нужный из списка (по аналогии с Hint) ?

Ну так оно и работает, выбирается из списка в каждом компоненте. Но желательно использовать разные, тк, к примеру, у ListBox'a есть Width и Height, и у Edit'a они тоже есть, а это все отрабатывает один парент-класс Win
карма: 22

0
Ответов: 5227
Рейтинг: 585
#54: 2008-08-29 14:10:21 ЛС | профиль | цитата
iarspider, помнится недавно hic сегодня his что завтра . Всё должно быть проще, в контекстном меню на компонете "Обновить", глобальные изменения ввиде сервис пака с автоустановкой и калибровкой всего и вся, и без нужды в установке всё заного. Вот тогда у всех будет ОДНО и ТОЖЕ!, вот тогда и тестеров будет гораздо больше.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 5446
Рейтинг: 323
#55: 2008-08-29 14:42:01 ЛС | профиль | цитата
anderstudio, недавно был только один пакет - Delphi, сегодня - несколько.

Далее, обновление компонента может затрагивать не только его файлы, но и общий для нескольких компонентов код (win.pas например). Как раз SVN и призван решить проблему единообразия: есть head revision (текущая версия кода). В принципе, создать систему автообновления среды не так уж и сложно - нужно
1) консольный SVN-клиент -- для "бесшумного" запуска обновления
2) diff/patch -- для внесения изменений в Elements.sql
3) Простая оболочка над всем этим на манер hiUpdate.

Давай так: если я дам тебе №1 и №2 -- сделаешь №3?
карма: 1

0
Ответов: 5227
Рейтинг: 585
#56: 2008-08-29 14:54:36 ЛС | профиль | цитата
Ради общего дела - постараюсь, ну конечно под Вашим чутким руководством
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 9906
Рейтинг: 351
#57: 2008-08-29 14:59:40 ЛС | профиль | цитата
nesco писал(а):
Не понял, что, никто не тестирует, что ли

Ну смотри, сам напросился: получай фашист гранату

Вообще-то, тестировать такое, даже настроения никакого нет
Чего тестировать-то
Умение писать килограммы тупого кода
Чтобы потом превратить его в тонны
Который появится у всех, даже ничего не знающих про "сохранение/восстановление"
Благодарю покорно

Мне кажется, что в вашей версии среды (там где CodeGen имеет наконец-то api для определения "внешности" св-ва, хотя первое упоминание о необходимости такового было сразу после появления этой птыцы) возможен значительно более адекватный вариант
ДАЖЕ при полном равнодушии автора этой среды к данной проблеме
Ну русские люди мы, или нет, наконец-то
В отличие от всего мира, наше главное достоинство, это владение высоким искусством "что такое ничего, и как из него сделать что-то"
Именно на этом стояла всегда Россия

Как это могло бы выглядеть...

  • В данной конкретной схеме всякое св-во, желаемое нами к восстановлению из INI или реестра объявляется внешним (ставим птыцу, и всего делов), и, что характерно - делаем ему имя которое и используем в последствии в нашей технологии
  • Создаем (пишем для него коды) один элемент-контейнер. И пусть у него будет рабочее название Option. Внимание, очень важно !!! -- это действительно контейнер, внутри которого содержится схема пользователя Но этот контейнер НЕ ИМЕЕТ точек связи со схемой. Категорически лысый снаружи, грубо говоря

  • Для этого элемента коды в CodeGen генерируются особым образом. А именно: он не только создается РАНЬШЕ всех элементов схемы, но и его внутренняя схема (это же контейнер) начинает работать раньше создания остальных элементов внешней схемы. Скажем, у элемента-парента этого контейнера есть точка onCreate, к которой подключена схема пользователя.
    Которая то ли открывает INI-файл, то ли находит ключ в реестре, то ли читает параметр типа Lang (опять же, то ли из своих настроек, то ли из настроек системы), и по результатам определяет имя какой-то секции для дальнейшего чтения параметров...
    Прошу пардону, но это идеология у меня такая: думать о таких вещах ДО создания алгоритма, а не после создания очередного "пока это допустимо"

  • Этот же элемент-парент имеет еще три точки: onRead, onWrite, onDestroy onRead срабатывает в момент конструирования элемента (внешняя схема еще не сделана и не работоспособна, это все еще в процессе) и содержит в потоке имя одного из тех внешних св-в, которое мы ранее героически оптичили
    А пользователь сам и придумает, чего делать дальше (в смысле - откуда взять данные для этого св-ва, чтобы подать его на левую точку парента SetData, по аналогии с элементом EventFromData)

  • onWrite будет срабатывать при выполнении деструктора элемента. Правда в кодах сегодняшних элементов мы не имеем гарантий, что св-ва элемента, доступные к записи, также будут и успешно читаться. Но тут уж ничего не сделаешь - не все можно сделать уж из совсем ничего.
    НО, можно завсегда дописать в коды элементов необходимые property. Причем, тем, кто понятия не хочет иметь про Option - это не добавит ни одного лишнего байта кода.
    Не GCC чай...

  • При кодогенерации, в тот героический момент, когда CodeGen норовит записать присвоение значения св-ва для элемента, необходимо проверить, не является ли сие св-во "внешним" (для чего и необходимо вышеупомянутое api со средой), и, коль скоро это так -- запустить необходимый метод (чтобы там сработал onRead) уже работоспособного (это очень важно) элемента Option. Естественно, перед генерацией конструктора схемы, следует установить тот факт, что в схеме присутствует сей замечательный элемент...

  • Аналогично и в деструкторе схемы: коль скоро существует элемент Option, перед Destroy каждого элемента проверить наличие у него внешних св-в, и запустить нужный метод Option (чтобы там сработал onWrite) для таковых onDestroy -- да просто контрольный выстрел....


    В общем, не так уж все и не преодолимо...
    Остается вопрос про вложенные контейнеры, но и это решаемо, может быть даже и без глючности сегодняшнего MakeElement (в смысле - идеи-то есть)...
    Об этом можно и после подумать, если первая часть будет работать - она самодостаточностью и сама по себе обладать должна....

    Идею я изложил, пробуйте, у кого есть возможность

  • карма: 9

    0
    Разработчик
    Ответов: 26061
    Рейтинг: 2120
    #58: 2008-08-29 15:05:44 ЛС | профиль | цитата
    Galkov писал(а):
    Идею я изложил, пробуйте, у кого есть возможность

    А кто, кроме тебя это может, Dilma только Я в кодогенераторе полный бум, бум
    карма: 22

    0
    Ответов: 9906
    Рейтинг: 351
    #59: 2008-08-29 15:27:21 ЛС | профиль | цитата
    Версия среды, которая у меня стоит не обладает тем самым api по определению "внешности"
    Поставить другую - у меня НЕ просто перестают работать схемы, а отсутствует интерфейсная возможность сделать то же самое как-то по другому.
    Пардон, но мне и работать надо.
    Схемы у меня, к примеру, развиваются под вновь возникающие задачи...

    Нет, ну конечно великое спасибо, за такое кастрирование линков
    Но у меня есть и своя, жизнь, и своя работа, наконец-то

    nesco писал(а):
    Я в кодогенераторе полный бум, бум

    Возьми и разберись.
    То же мне, супер задача
    карма: 9

    0
    Разработчик
    Ответов: 26061
    Рейтинг: 2120
    #60: 2008-08-29 16:00:04 ЛС | профиль | цитата
    Galkov писал(а):
    То же мне, супер задача

    Для тебя не знаю, а для меня супер -- не полезу я, пока, в кодогенератор
    карма: 22

    0
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)