На форуме пробегало желание иметь глобальную переменную с верхней точкой, вот выкладываю. Имеет верхнюю точку Data и событие onValue.
А вот исправленная версия с примером (2.9 кБ).
http://hiasm.hexshock.com/xf//getfile/4410
Этот топик читают: Гость
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
карма: 22 |
| ||
файлы: 1 | _GlobalVarEx.zip [2.3KB] [823] |
Ответов: 9906
Рейтинг: 351
|
|||
А это что за наскальные надписи
|
|||
карма: 9 |
|
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
Galkov, все это было нужно для занесения переменной через данные, но, похоже, я перемудрил. Спасибо, исправил, вот так пойдет:
[size=-2]------ Добавлено в 12:26 Исправленная версия GlobalVarEx. |
|||
карма: 22 |
| ||
файлы: 2 | code_426.txt [627B] [786], _GlobalVarEx.zip [2.9KB] [619] |
Ответов: 9906
Рейтинг: 351
|
|||
А все равно как-то странно...
По результату - опциональное св-во переключения места чтения данных. Влепил NULL, и данные пошли сверху... Может и полезно, но причем здесь Global ИМХО [size=-2]------ Добавлено в 14:14 И такое:
Работает конечно, но эта работоспособность определяется особенностями кодогенерации. Т.е., не локализована внутри элемента - а это не очень хорошо... [size=-2]------ Добавлено в 14:16 И вообще, странно ведет себя элемент (безотносительно к Ex), когда doName меняет свое непустое имя на уже существующее |
|||
карма: 9 |
|
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
Galkov, а вот это не я придумал, а Dilma.
И вообще, странно ведет себя элемент (безотносительно к Ex), когда doName меняет свое непустое имя на уже существующее А пример, можно, разберем и попробуем улучшить. |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
nesco писал(а): а вот это не я придумал, а DilmaУ Dilma метод doValue не вызывал внешних событий. nesco писал(а): А пример, можно, разберем и попробуем улучшитьКнопочку хоть занажимайся: code_429 Да и мелкие доработки здесь не пройдут... Если уничтожать "повторы" в NList, то надо уничтожать динамические данные. А счетчиков ссылок эти данные не имеют |
|||
карма: 9 |
| ||
файлы: 1 | code_429.txt [777B] [729] |
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
Galkov, извини, я просто не понял к чему ты привел код. Да, действительно, интересно. SetData вызывается в самом начале при определении свойства и выставляет на выход NULL -- это не хорошо, да и не нужно. Будем убирать.
[size=-2]------ Добавлено в 00:57 Я подробнее разобрался с примером и заметил, что пример некорректно построен, но это не важно. Я переделал пример, а затем разобрался с кодом, вот проверь: code_435 А вот пример:
|
|||
карма: 22 |
| ||
файлы: 1 | code_435.txt [620B] [759] |
Ответов: 9906
Рейтинг: 351
|
|||
Если я все правильно понял, то смысл твоего предложения (после выкидывания лишнего) таков:
И фиг с ним со старым именем - пусть себе продолжает лежать в NList вместе с динамическими данными на которые ссылается ..... Редактировалось 1 раз(а), последний 2016-11-23 01:17:56 |
|||
карма: 9 |
|
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
Galkov, лихо ты его.. Но в моем исправлении имя в листе меняется на новое, а в твоем добавляется и старое сохраняется. Пес его знает, что лучше -- хранить старое имя, или заменять его на новое. Какие будут предложения по этому поводу.
|
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Увидел уже.
А отсюда еще более смешные предложения по этому поводу: нафиг нам не нужно (оказывается ) поле FName в элементе Примерно так: hiGlobalVar.rar Точки любимые сам добавишь - я идею изложил [size=-2]------ Добавлено в 11:53 P.S. являюсь апологетом принципа: лучшее средство от перхоти - гильотина заметно, наверное... |
|||
карма: 9 |
| ||
файлы: 1 | hiGlobalVar.rar [755B] [494] |
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
Galkov, логично, и самое главное, просто. Убирание поля FName давно напрвшивалось.
|
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Собственно, не очень понятно, зачем сегодня и Find в interface
Я бы выкинул (unit hiGlobalVar включается только элементом hiGVarContainer и не использует Find) его, и сделал так:
Редактировалось 6 раз(а), последний 2016-11-23 01:23:14 |
|||
карма: 9 |
|
Разработчик
Ответов: 26149
Рейтинг: 2127
|
|||
Galkov, понятно, что весь поиск повесили на NList.IndexOf(Name), и действительно, зачем тогда Find
|
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Не получается закончить тему
После того, как LowerCase попал в ForceGVar, можно упрощать совсем до безобразия
Но кто сказал, что так не правильно |
|||
карма: 9 |
|
Ответов: 262
Рейтинг: 6
|
|||
А почему бы
i := NList.IndexOf(Name);
|
|||
карма: 0 |
|