Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1437985170
Gray-Gray
2015-07-27 11:19
2017.03.26
Ошибки проекта Delphi XE8, creatin VCL Forms Application


15-1459185260
d2pak
2016-03-28 20:14
2017.03.26
Организация буфера видео потока


15-1459036034
Kilkennycat
2016-03-27 02:47
2017.03.26
Неплохая мимика у робота. и цель в жизни тож.


11-1265470866
Lirrk
2010-02-06 18:41
2017.03.26
Проблема со шрифтами


2-1437734169
Koko-239
2015-07-24 13:36
2017.03.26
Описание ПК





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский