HIVarArray - делал давно. Просто массив именованных разнотипных переменных. На основе стандартного TArray.
HIArrayer - Вариант ArrayRW с абсолютно другим принципом работы каждая точка DPLElement-а обращение к данным в массиве(по имени или индексу). Один Arrayer может заменить десяток ArrayRW(или больше
см. пример, внимательно читайте описание !
Этот топик читают: Гость
Ответов: 262
Рейтинг: 6
|
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Не понимаю
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
|||
карма: 27 |
|
Ответов: 262
Рейтинг: 6
|
|||
Dilma, 1. я расчитывал вообще удалить заплатку к следующей версии HIAsm. Ведь можно убрать ограничение на одинаковые имена точек на разных гранях элемента ?
2. И, я конечно не смею надеятья, немножко доработать DPLElement чтобы можно было добавлять статические методы на те грани которые не описаны, если Sub=doWrite,,Read, то на _event и _data можно бы было добавить методы в секции [Methods] 3. И в codegen строка 136. функция ArrayToRes. if p = '' then p := '0'; а почему собственно p:='0'? В случае с VarArray по крайне мере должно быть вроде p:='_data_Empty'. Galkov, ':=' как называется эти символы ? Вот и SetData это присваивание TData; Только в случае a:=b; полного присваивания не происходит. Поэтому спец типы присваиваются (или копируются) отдельно. Создается полная индентичность данных. т.е. при "смерти" src, dst продолжает жить и здравствовать. Вот собственно идея такова. Правда надо доописать все остальные типы данных. Вот Вам существующий пример того самого
|
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Блин - дурдом на каникулах
Попробую конкретизировать вопрос: чем
|
|||
карма: 9 |
|
Ответов: 262
Рейтинг: 6
|
|||
Galkov, доброе утро ? А вот про ету строчку не забыл ?
|
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
1) Именно упсс, и начиная с первой строки, и т.д...
2) Мог бы обратить внимание, что если в строке есть что-то типа [code], то ничего дальше не парсится ((экспериментальный факт - я не виноват)) 3) Ну у нас то давно обед... Хотя у нас же, когда встал - тогда и доброе утро |
|||
карма: 9 |
|
Ответов: 262
Рейтинг: 6
|
|||
1. Galkov СтРаШнЫй человек оппонент уж упал и ошибку понял и исправил даже, а он ногой по почкам.
2. есть непонятно мне о чем речь 3. Просим Dilma добавить в Профиль поле "Город". И выводить его под званием в топиках. А потом на глобусе HIAsm-а точки расставлять |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
1) Нельзя.
2) возможно 3) вот так сходу не отвечу почему... |
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
1) Ну в каком-то виде я должен же был сказать, что конкретно PRect - это мелкий частный случай...
2) Chesh, смотри : правлю твой пост А вообще, Chesh, кончай комплексовать. Скажем так, я настаиваю, что ПРАВИЛЬНОЕ отношение к делу - именно такое:
ИМХО. Хотя проверено, и может быть потверждено примерами с данного форума |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Да и еще: в справке этого нет пока, но прямое использование полей TData в своих компонентах строго не рекомендуется.
|
|||
карма: 27 |
|
Ответов: 262
Рейтинг: 6
|
|||
Dilma, сейчас я это знаю. Более того поддерживаю на 100%. Если ты о ShareDT, то я специально вынес эти процедуры в отдельный юнит дабы подчеркнуть что они на уровень "ниже" компонента. И могут быть использованы в других компонентах, как и основной Share.
Единственный случай когда в последнее время пришлось использовать поля TData был когда я хотел вывести MT через onEvent. a.ldata:=@b; И вопрос остался открыт. Я задам его на форуме. Galkov, ну что ж присвоим тебе звание Старшего Воспитателя И Духовного Наставника. ЗЫ: а если честно, то раздел Компоненты не место для наставлений. Указал ошибку - спасибо. Я исправлю и выложу. Прочее только мешает всем остальным А вот в "Игре в слова" я все выслушаю и отвечу и поспорю и историями поделюсь |
|||
карма: 0 |
|
Ответов: 262
Рейтинг: 6
|
|||
Доработанный VarArray. Теперь поддерживает добавление переменных, сохранение, загрузку всего массива в файл. Позволяет добавлять в массив переменные содержащие MT цепочки. Добавлен интерфейс для обращения к именам переменных. Добавлен тип Stream. Исправлены ошибки.
Файл перемещен. |
|||
карма: 0 |
|
Ответов: 3655
Рейтинг: 69
|
|||
Chesh,
При UseName=true имена переменных, при=false индексы в массиве. |5| И где это UseName |
|||
карма: 0 |
|
Ответов: 262
Рейтинг: 6
|
|||
Вячеслав, UseName - это свойство TArray(share.pas), VarArray его наследовал. А находиться в редакторе свойств компонента.
|
|||
карма: 0 |
|