Вопросы по теме 'rtti'

Поиск типа неизвестного объекта в C++
Существует множество способов проверить программы на наличие утечек памяти. В итоге вы получите этот список указателей на блоки памяти с утечкой, но есть ли хороший способ узнать больше информации для каждого блока? Например: если я знаю, что объект...
598 просмотров
schedule 20.07.2023

Строковое представление типа контента Variant?
Во-первых, извините за мой английский, я надеюсь, что то, что я написал здесь, имеет смысл. Теперь к моей проблеме. Как я могу получить строковое представление содержимого type Variant, используя TypInfo.GetEnumName(). Я пробовал следующее, без...
6140 просмотров
schedule 27.12.2022

Как вызвать GetEnumerator для произвольного типа?
Я пишу элемент управления, который должен отображать любой список данных. Что я хотел сделать, так это имитировать конструкцию for-in в том, что я проверяю общедоступную функцию GetEnumerator, содержащую свойство Current и метод MoveNext. Я...
464 просмотров
schedule 04.05.2022

Проблема Qt RTTI
В поисках обработки событий (таких как движения мыши и щелчки) не путем создания подклассов необходимо использовать installEventFilter и предоставить обработчик событий. При этом я столкнулся с проблемой поддержки RTTI, а это означает, что...
2708 просмотров
schedule 23.01.2023

Delphi 2010 RTTI: используйте TValue для хранения данных
Я хотел бы иметь возможность использовать TValue для хранения данных в TList ‹>. Как в : type TXmlBuilder = class type TXmlAttribute = class Name: String; Value: TValue; // TValue comes from Rtti end; TXmlNode =...
2985 просмотров
schedule 12.04.2023

RTTI и переносимость в C++
Если компилятор не «поддерживает» RTTI, означает ли это, что компилятор не может обрабатывать иерархии классов, в которых есть виртуальные функции? Или я неправильно понял литературу о том, что RTTI не является переносимым, а проблемы лежат в другом...
2563 просмотров
schedule 23.07.2022

Delphi: найти классы, происходящие от заданного базового класса, во время выполнения?
Есть ли способ во время выполнения найти все классы, происходящие от определенного базового класса? Например, представьте, что есть класс: TLocalization = class(TObject) ... public function GetLanguageName: string; end; или...
6177 просмотров
schedule 07.05.2022

delphi xe отключить RTTI
Я недавно использую delphi xe, но размер exe очень велик из-за rtti (я думаю) как удалить rtti, и могу ли я без сжатия сделать размер моего приложения таким же маленьким, как приложение delphi 2009 (490 КБ); и в чем польза от rtti
9479 просмотров
schedule 10.12.2022

Управление разнообразными классами с помощью центрального менеджера без RTTI
У меня есть вопрос дизайна, который беспокоил меня некоторое время, но я не могу найти хорошее (в смысле ООП) решение для этого. Язык — C++, и я постоянно возвращаюсь к RTTI, который часто называют индикатором плохого дизайна. Предположим, у нас...
362 просмотров
schedule 02.10.2022

Как получить информацию о классе C ++, кроме RTTI
Вот три класса, class ClassA{}; class ClassB:public ClassA{}; class ClassC:public ClassB{}; ClassC cobject; Я хочу знать «Имя класса» кобъекта (например, ClassC) и его «Имя суперкласса» (например, ClassB и ClassA) Я знаю, что RTTI может...
450 просмотров
schedule 07.05.2023

Числовой уникальный идентификатор класса через typeid
Оператор typeid в C++ возвращает объект класса std::type_info , который может дать его текстовое имя. Однако меня просто интересует получение уникального числового идентификатора для любого полиморфного класса. (уникально в рамках одного запуска...
4253 просмотров
schedule 28.04.2022

Как утверждать, какой данный указатель метода использует соглашение о вызовах stdcall?
В моей библиотеке я вызываю методы при определенных условиях, что требует соглашения о вызовах stdcall. В настоящее время я использую статическое разрешение компилятора, реализованное в виде довольно большого списка известных сигнатур методов и...
546 просмотров
schedule 30.12.2022

Есть ли способ обновить поле в записи, зная имя и значение поля
Учитывая запись: MyRecord = record Company: string; Address: string; NumberOfEmplyees: integer; Вы можете написать вызов функции, например function UpdateField(var FieldName: string; FieldValue: variant): bool; так что:...
2714 просмотров
schedule 27.10.2022

Удаление пространства имен имени типа в C++
В C++, когда мы используем typeid для получения имени типа объекта или класса, он покажет украшенную (искаженную) строку. Я использую cxxabi , чтобы разобрать его: #include <cxxabi.h> #include <typeinfo> namespace MyNamespace {...
6206 просмотров
schedule 09.03.2023

Динамически обнаруживать и выполнять определенные методы экземпляра класса
В C++ (GCC g++) есть ли какие-либо средства для определения во время выполнения всех методов (или всех общедоступных методов) данного класса, имена которых удовлетворяют определенному шаблону (т.е. имеют, например, строку 'test' как часть их имя), а...
59 просмотров
schedule 26.07.2023

Функция TRttiMethod.Invoke не работает в перегруженных методах?
Я создаю экземпляр класса, используя TRttiMethod.Invoke , но когда конструктор или метод перегружены, rtti не вызывает правильный метод. Я написал образец приложения, чтобы проиллюстрировать свою проблему. program ProjectFoo; {$APPTYPE...
3963 просмотров
schedule 17.06.2023

delphi: как преобразовать TGUID в указатель PTypeInfo?
У меня есть переменная TGUID, и я хочу "преобразовать" ее через Rtti в PTypeInfo, описывающий этот интерфейс. AGUID := StringToGUID('{19BB9F78-1FB1-4B0F-B691-82EE5CD7A941}'); .. transform AGUID to PTypeInfo .. AInterface =...
529 просмотров
schedule 22.10.2022

Динамический вызов метода SOAP по имени?
Я использую Delphi XE2 для связи с довольно большой службой SOAP. Я успешно импортировал wsdl, и все работает нормально. Тем не менее, я обнаружил, что пишу много подобного кода. Я хотел бы иметь общий метод, который вызывает мой веб-сервис. Мне...
2558 просмотров
schedule 26.05.2022

Практическое использование dynamic_cast?
У меня довольно простой вопрос об операторе dynamic_cast . Я знаю, что это используется для идентификации типа во время выполнения, т. Е. Чтобы узнать о типе объекта во время выполнения. Но, исходя из вашего опыта программирования, не могли бы вы...
4381 просмотров
schedule 28.05.2022

Delphi Rtti: как получить объекты из TObjectList ‹T›
Я работаю над преобразователем пользовательского класса в xml, и одним из требований является возможность потоковой передачи полей TObjectList<T> . Я пытаюсь вызвать метод ToArray() , чтобы получить объекты TObjectlist, но получаю сообщение...
2499 просмотров
schedule 13.04.2022