Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Имеем класс: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Как узнать, что члены Example->aaa и Example->bbb существуют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 15:36 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Раз ты их объявил, значит они существуют. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 15:40 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov А если если ты их объявил, а мне не сказал. Тогда как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 15:50 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
PupkinА если если ты их объявил, а мне не сказал. Тогда как? Это как? Я тебе не дал .h файл? Тогда для тебя не существуют ни члены, ни сам класс. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 16:17 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
это c# и java так повреждают мозг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 16:26 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Могу предположить что Пупкин создал это в продолжение того что мы обсуждали 19437092 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 16:42 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Знаете, Dimitry... С++ не ограничен классом Example. Задумайтесь. У Вас есть хедер файлы для TForm, TButton и т.п.? А как называется член, где TForm хранит свой Top (например). Могу догадываться, что в FTop, но наверняка не знаю. А хочу !!! Ответьте на вопрос, если можете, а не о том кто кому что дает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 16:42 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
PupkinА хочу !!! Перехоти. Точнее - обломись. У класса есть интерфейс и этот интерфейс - контракт между ним и его пользователем. Всё, что не входит в интерфейс - для пользователя не существует. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 16:51 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Pupkin, В С++ рефлексии нет (почти нет). Потому делай так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 17:06 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
PupkinЗадумайтесь. У Вас есть хедер файлы для TForm, TButton и т.п.?конечно, в каталог include установленного компилятора что мешает заглянуть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 17:44 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Возможно автору поможет dynamic_cast или type_id ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 17:54 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
PupkinА как называется член, где TForm хранит свой Top (например). Могу догадываться, что в FTop, но наверняка не знаю. А хочу !!!Опять же: допустим, мы можем посмотреть список переменных класса, но что нам это даёт? Допустим, даже если они открыты? Мы видим переменную FTop, а как мы поймём её смысл в функционале класса? По названию нельзя, назвать автор мог их каким угодно способом. И вообще к таким вопросам лучше подходить как можно абстрактнее. Подход к коду с точки зрения "нормального человека" чреват многими проблемами. Другими словами, программа делает то, что делает, а не то, что хотел программист, её написавший. Понимание этой разницы избавляет от таких попыток понять, что там внутри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 06:19 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
PupkinDimitry Sibiryakov А если если ты их объявил, а мне не сказал. Тогда как? Тогда будет ошибка компиляции, и ты узнаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 07:08 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
PupkinЗадумайтесь. У Вас есть хедер файлы для TForm, TButton и т.п.? А как называется член, где TForm хранит свой Top (например). Могу догадываться, что в FTop, но наверняка не знаю. А хочу !!!До этого C++ еще "не дорос". Из *.h программист может узнать только наличие методов, ... - и не больше. Вы же хотите знать нечто больше типа "Какую функцию нужно использовать для обеспечения такой то функциональности?". Для это нужны некие мета данные. См. в сторону OLE ... или посмотрите что-то типа: Создание категория параметров https://msdn.microsoft.com/ru-ru/library/bb166176.aspx PS: Погуглите запросами типа "MSDN COM категория" В Microsoft ребята "не глупые" и идут похожим "на правду" путем ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 08:10 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Автор очень интересно начал но привел через несколько постов просто неудачный пример с формами и батонами. Дейстительно - топчи документацию по UI и найдешь то что тебе нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 10:17 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovPupkinА хочу !!! Перехоти. Точнее - обломись. У класса есть интерфейс и этот интерфейс - контракт между ним и его пользователем. Всё, что не входит в интерфейс - для пользователя не существует. У класса кроме интерфейса есть и другие "всякие штучки". Если компилятор это умеет знать, то это возможно и я тоже хочу это уметь. Знать - хочу, обламываться - не хочу! egorychPupkinЗадумайтесь. У Вас есть хедер файлы для TForm, TButton и т.п.?конечно, в каталог include установленного компилятора что мешает заглянуть?Да ничо не мешает. Только научите по какому критерию можно догадаться, что открыть (программно) нужно именно "инклюд"? И каком файле (из более тысячи (не считая вложенных папок)) живет требуемая хотимость? CEMbPupkinА как называется член, где TForm хранит свой Top (например). Могу догадываться, что в FTop, но наверняка не знаю. А хочу !!!Опять же: допустим, мы можем посмотреть список переменных класса, но что нам это даёт? Допустим, даже если они открыты? Мы видим переменную FTop, а как мы поймём её смысл в функционале класса? По названию нельзя, назвать автор мог их каким угодно способом.... ...мы можем посмотреть список переменных класса, но что нам это даёт? Что это дает Вам - это Ваши проблемы. А что это дает мне - находится в моем функционале. Не нужно обсуждать не спрашиваемое. Если Вы допустим можете посмотреть список переменных класса, то допустите и расскажите как. Я это и прошу. Владимир2012PupkinЗадумайтесь. У Вас есть хедер файлы для TForm, TButton и т.п.? А как называется член, где TForm хранит свой Top (например). Могу догадываться, что в FTop, но наверняка не знаю. А хочу !!!До этого C++ еще "не дорос". Из *.h программист может узнать только наличие методов, ... - и не больше. Вы же хотите знать нечто больше типа "Какую функцию нужно использовать для обеспечения такой то функциональности?". Для это нужны некие мета данные. См. в сторону OLE ... или посмотрите что-то типа: Создание категория параметров https://msdn.microsoft.com/ru-ru/library/bb166176.aspx PS: Погуглите запросами типа "MSDN COM категория" В Microsoft ребята "не глупые" и идут похожим "на правду" путем ..."C++" - то как раз дорос (как выясняется)! Не доросла квалификация (но растет (пока)). Тут (выше) мне подсказали... maytonВозможно автору поможет dynamic_cast или type_id ? Не помогло, но на идею навело, спасибо автору. dynamic_cast и type_id из RTTI, а там много "вкусного". В общем реализовал две функции: GetComponentProperties возвращает для класса список имен свойств и типов свойств, PropertyExists возвращает существование свойства по имени в классе Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 12:06 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
PupkinУ класса кроме интерфейса есть и другие "всякие штучки". Если компилятор это умеет знать, то это возможно и я тоже хочу это уметь. Знать - хочу, обламываться - не хочу!В рантайме у класса вообще ничего нет, кроме указателя на таблицу виртуальных методов и блока данных, в котором есть некая структура, о которой известно лишь компилятору. Если на этапе компиляции bcc сказал, что такого мембера нет, то либо его нет, либо он закрыт для той области определения, в которой ты пытаешься получить к нему доступ. Ты не мудри, а объясни по человечески суть задачи - занафига тебе знать какие и где мемберы объявлены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 13:33 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Pupkin Не помогло, но на идею навело, спасибо автору. dynamic_cast и type_id из RTTI, а там много "вкусного". В общем реализовал две функции: GetComponentProperties возвращает для класса список имен свойств и типов свойств, PropertyExists возвращает существование свойства по имени в классе Приговор: В изначальной постановке Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 13:45 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
Pupkinegorychпропущено... конечно, в каталог include установленного компилятора что мешает заглянуть?Да ничо не мешает. Только научите по какому критерию можно догадаться, что открыть (программно) нужно именно "инклюд"? И каком файле (из более тысячи (не считая вложенных папок)) живет требуемая хотимость? Не помню, как в вашем С++Builder, но в современных IDE можно либо кликнуть по TForm, зажав Ctrl, либо из меню по правой кнопке выбрать "Перейти к объявлению" и попасть прямо в нужный .h файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 14:42 |
|
||
|
Проверка существования члена класса
|
|||
|---|---|---|---|
|
#18+
BarloneНе помню, как в вашем С++Builder, но в современных IDE можно либо кликнуть по TForm, зажав Ctrl, либо из меню по правой кнопке выбрать "Перейти к объявлению" и попасть прямо в нужный .h файл.В Borland C++ builder 6.0 это, также, возможно. Достаточно, к примеру, нажать правой кнопкой мыши на имя класса (TForm) и во всплывающем меню выбрать "Find declaration". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 16:01 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39280485&tid=2018149]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 265ms |

| 0 / 0 |
