Форум: "Начинающим";
Текущий архив: 2017.03.26;
Скачать: [xml.tar.bz2];
ВнизИспользование типов данных "Перечисление" и "Множество" Найти похожие ветки
← →
Сергей (2015-07-24 18:03) [49]Читайте как "требуется". В классах есть read-only property, которые возвращают Set Of TEnum***.
Есть функция экспортированная из DLL, принимающая одним из входящих Cardinal. Требуется передавать туда эти property.
У одного класса SizeOf(property)=4. И прекрасно работает через Integer(AnObject.property)
У другого класса SizeOf(property)=1. У третьего SizeOf(property)=2. И тогда выдаёт "[Error] Invalid typecast". Как мне сделать typecast?
Нашёл эту тему, пробовал как описано со своим множеством - сработало как должно. Да только не могу влезть в объявление типа и добавить "z_last=31".
← →
Rouse_ © (2015-07-25 17:55) [50]Абсолютно верно, памятью, выделенной под множество, нужно управлять количеством бит, с которыми оно оперирует, поэтому для 4 байт нужно последнму элементу выставить z_last = 31
← →
Rouse_ © (2015-07-25 17:57) [51]Как вариант, можно делать стриминг сета и передавать его, тогда обойдещь проблему с размерностью
← →
кгшзх © (2015-07-26 15:14) [52]а еще если выбирать типы не от балды, то проблем лишних не будет.
если все влезает в dword, и если в функцию надо передавать 4 байта, то и хранить надо в дворде.
← →
Сергей (2015-07-28 09:57) [53]Вы невнимательно читали - типы выбирал не я.
Что-то не смог нагуглить термин "стриминг сета/множества"... Что вы имели ввиду?
← →
кгшзх © (2015-07-28 10:32) [54]Вы невнимательно читали - типы выбирал не я.
Вот я объявил:
type ZEnum = (z_first, z_second, ..); ZSet = set of ZEnum;
ага, я понял.
множество выбирала левая нога.
← →
Сергей (2015-07-28 11:12) [55]Очень, очень невнимательно. Это не мой пост. =/
← →
хзшгк (2015-07-28 11:52) [56]так мой пост не мой
← →
Игорь Шевченко © (2015-07-28 17:16) [57]
> Это не мой пост
А зачем ты в чужой ветке создаешь свои посты ? Создай свою ветку.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2017.03.26;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.003 c