Вверх ↑
Этот топик читают: Гость
Ответов: 1925
Рейтинг: 172
#1: 2009-10-30 15:31:03 ЛС | профиль | цитата
В MT_MTArray есть точка для очистки компонента, а вот в MT_Array - нет. А нужна. И, кстати, почему ArrayRW не имеет метода для удаления элемента массива и очистки массива?
карма: 9
0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26061
Рейтинг: 2120
#2: 2009-10-30 15:50:13 ЛС | профиль | цитата
3042 писал(а):
а вот в MT_Array - нет

Значит, Dilme не нужна была, вот и все
------------ Дoбавленo в 15.50:
3042 писал(а):
И, кстати, почему ArrayRW не имеет метода для удаления элемента массива и очистки массива?

Очитку массива надо делать в самом массиве, а не в компоненте доступа
карма: 22

0
Разработчик
Ответов: 4697
Рейтинг: 426
#3: 2009-10-30 16:04:14 ЛС | профиль | цитата
nesco писал(а):
Очитку массива надо делать в самом массиве, а не в компоненте доступа

С очисткой, хрен с ней, а вот удалить элемент как Например вот отсюда code_15464.txt
карма: 10
0
файлы: 1code_15464.txt [689B] [427]
Разработчик
Ответов: 26061
Рейтинг: 2120
#4: 2009-10-30 16:33:00 ЛС | профиль | цитата
Assasin писал(а):
а вот удалить элемент как

Очистку и удаление элементов должен делать компонент массива. Его и надо оснащать такой возможностью, как, например, это реализовано в IndexManager-e
карма: 22

0
Ответов: 1925
Рейтинг: 172
#5: 2009-10-30 16:37:49 ЛС | профиль | цитата
Неправильно это. Тогда либо каждый массив должен уметь добавлять/заменять, либо отдельный компонент для всех действий. Лучше второе. Ну нет у многих массивов очистки! Что делать?
карма: 9
0
Администрация
Ответов: 15294
Рейтинг: 1518
#6: 2009-10-30 16:52:11 ЛС | профиль | цитата
историческое наследие - интерфейс общения с массивами предусматривает только 4 метода: add, get, set и count.
карма: 26
0
Ответов: 1925
Рейтинг: 172
#7: 2009-10-30 16:58:07 ЛС | профиль | цитата
А в старых версиях был компонент, название уже не помню, но он умел и удалять...
Так почему бы сейчас не добавить метод, ведь на совместимость это не должно повлиять.
карма: 9
0
Разработчик
Ответов: 4697
Рейтинг: 426
#8: 2009-10-30 17:06:10 ЛС | профиль | цитата
Я тоже не откажусь
карма: 10
0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2009-10-30 17:19:15 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2021-06-24 08:04:18
карма: 0

0
Ответов: 1925
Рейтинг: 172
#10: 2009-10-30 17:20:10 ЛС | профиль | цитата
Это я выше.
карма: 9
0
Администрация
Ответов: 15294
Рейтинг: 1518
#11: 2009-10-30 17:32:21 ЛС | профиль | цитата
3042, элемент MT_Array не является массивом. Он является конвертором МТ потока в массив.

3042 писал(а):
ведь на совместимость это не должно повлиять.

в теории - нет. На практике добавление в интерфейс такого метода может привести к RunTime error в коде элементов, у которых используется ручная(устаревшая) инициализация объекта PArray. Ну и наконец увеличение кода во всех схемах, которые не используют данный метод.

Ввиду перечисленных причин в данном случае следует делать только так:
nesco писал(а):
Очистку и удаление элементов должен делать компонент массива. Его и надо оснащать такой возможностью

как бы не логично это не казалось.
карма: 26
0
Ответов: 1925
Рейтинг: 172
#12: 2015-04-30 23:21:41 ЛС | профиль | цитата
Итак, спустя 6 лет снова возник такой же вопрос. К счастью, был найден ответ, хотя и не совсем красивый (красивый - это всё же появление методов в соответствующих компонентах).

Assasin писал(а):
а вот удалить элемент как Например вот отсюда code_15464.txt

Для цифр вполне можно использовать StrList. Там все методы есть.

А для остальных случаев - практически универсальный способ:
code_35547.txt

В MultiElementEx всегда будут методы удаления элемента, очистки массива и другие необходимые.
карма: 9
0
файлы: 1code_35547.txt [3KB] [519]
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)