|
|
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Доброй вечер! Мой вопрос касается модуля TypInfo.pas из Delphi 7. У меня имеется список ListBox, в котором находятся имена типов методов (событий) в виде обычных строк: TNotifyEvent, TMouseEvent, TDrawItemEvent и так далее. При выборе пункта в списке, этот тип должен передаваться в качестве параметра PTypeInfo в другую процедуру, но он имеет тип string. Как это преобразовать? Пробовал так: Var P: PTypeInfo; begin P:= ListBox4.Items[ListBox4.ItemIndex]; - // не работает или P:= ListBox4.Items.Objects[ListBox4.ItemIndex]; - // не работает Но если указать тип напрямую - P:= PTypeInfo(TypeInfo(TKeyEvent)); - // работает Возможно следует в список строк добавлять не просто строки, а объекты, типа AddObject ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2019, 22:37 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64, зачем тебе типы методов? Это ведь лишь сигнатуры. Код: pascal 1. Может, тебе именно сами методы нужны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2019, 22:46 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Типы методов я и так получаю, но в виде строки. А мне нужно передать этот параметр дальше Например: GetMethodRTTI(P: PTypeInfo, TS: TStrings); И как быть с первым параметром? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2019, 22:52 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64P:= ListBox4.Items[ListBox4.ItemIndex]; - // не работает Не удивительно. Судя по этой строчке, Вы пытаетесь написать "Мастера и Маргариту" прежде чем одолели букварь. Linux_64Возможно следует в список строк добавлять не просто строки, а объекты, типа AddObject ? Вы пытаетесь сделать самую страшную вещь, которую можно делать в такой ситуации: Вы гадаете. Шаманите. Бросьте эту привычку раз и навсегда, иначе программиста из Вас никогда не получится. Программист должен разбираться. Понимать, что он делает и для чего. Какой результат он получит от своих действий, а если не получил его - в чём ошибся, почему результат именно таков, какой есть. Вам следует взять хорошую книгу по программированию на Delphi и внимательно изучить её, начиная с более простых примеров. Та тема, непонимание которой Вы сейчас демонстрируете - типы данных и работа с ними. Цель присваивания - переменная P - имеет тип PTypeInfo. То есть "указатель на TTypeInfo". Поэтому справа должно стоять либо выражение типа PTypeInfo, либо выражение, автоматически к нему приводимое. Что у Вас стоит справа? Строка? Так чего же Вы ждёте? Берите книгу и читайте с начала и до тех пор, пока не сможете сформулировать правильный для этой ситуации вопрос. И ещё один добрый совет. Если то, что Вы пишете, предназначено в реальную работу - честно скажите заказчику, что Вы не готовы и проектировать это решение должен более опытный программист. Потому что с вероятностью 95% окажется, что никакого TNotifyEvent там вообще и не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2019, 23:17 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64У меня имеется список ListBox, в котором находятся имена типов методов (событий) в виде обычных строк: TNotifyEvent, TMouseEvent, TDrawItemEvent и так далее. Как они попадают в этот список ? Опишите задачу целиком, а не а не тупик в середине, с которого выхода нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2019, 00:55 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Вазможно это вам поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2019, 00:59 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
softwarer, зачем умничаешь, код давай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2019, 16:09 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Что, значит бросьте эту привычку? Я спросил у вас совета, но вы начинаете умничать, хорошо, допустим у вас мозгов больше чем у меня, но неужели вам, мозговитым чувакам, так сложно мне подсказать решение? Очень скоро, я , - тупой дурак, предоставлю вам свою разработку, которую создавал более года, я приоткрою шторы: это персональная среда разработки, основана на Delphi 7 , и вот когда она выйдет, а она уже готова на а 80%, вот тогда я над тобой посмеюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2019, 23:33 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64, эта персональная среда будет в Linux 64-битном работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2019, 23:48 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64Что, значит бросьте эту привычку? То и значит. Если хотите когда-нибудь стать программистом, а не амбициозным нулём-энтузиастом - переставайте шаманить и начинайте копать, изучать и разбираться. Linux_64Я спросил у вас совета, И я дал Вам совет. Ровно такой же, какой дал бы, например, своему сыну, если бы он пришёл с тем же вопросом. Linux_64хорошо, допустим у вас мозгов больше чем у меня, но неужели вам, мозговитым чувакам, так сложно мне подсказать решение? Представь себе, что ты пришёл на прыгодром и говоришь: чуваки, я сшил парашют, только он у меня не раскрывается, помогите. Тебе отвечают: дурилка, проектировать парашюты нужно уметь, шить тем более, убьёшься же нахрен. И тут ты обижаешься: сложно, что ли, подсказать решение? Linux_64Очень скоро, я , - тупой дурак, предоставлю вам свою разработку, которую создавал более года, я приоткрою шторы: это персональная среда разработки, основана на Delphi 7 , и вот когда она выйдет, а она уже готова на а 80%, вот тогда я над тобой посмеюсь... Ох, что-то вас в этом году густо повалило... . Представляй, представляй. А лучше посмотри форум - такие каждый год приходят, весной и осенью. И до сих пор ещё ни один не вернулся с готовым решением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 00:10 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64персональная среда разработки, основана на Delphi 7 Утираю слезы умиления! Нас ждет разбработки на базе основы 17-летней давности! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 00:34 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64это персональная среда разработки, основана на Delphi 7 , и вот когда она выйдет, а она уже готова на а 80%, вот тогда я над тобой посмеюсь...Слабак. Если б хотя бы на Delphi 3, а желательно - и ниже... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 03:38 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
rgreatУтираю слезы умиления! слава попова и бабушкина не дает автору покая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 06:30 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Что в ДНР больше заняться нечем, чем критиковать? На тройке?, это ещё на чем?, на единичке? Или может в обычном блокноте? Вопрос решен. Тема закрыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 07:32 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Лишний раз себе доказываю, что если не пить пиво и не гулять по девочкам, то мозг начинает работать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 08:00 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64, Может быть, может быть. Но разве это жизнь?)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 08:29 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
>Linux_64 А ваша "среда" поддерживает сторонние компоненты и их редакторы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 09:33 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Нет. Только стандартные редакторы свойств: Редактор строк (TStrings), редактор иконок и изображений (TPicture, TBitmap, TIcon), редактор панелей для StatusBar. Установка сторонних компонентов предусмотрена, но если у него есть спец-свойство, невозможно написать редактор свойств для данного типа, хотя сам редактор может поставляться вместе с компонентом. Мне пока не до сторонних компонентов, это в будущем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 10:26 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64 Установка сторонних компонентов предусмотрена, но если у него есть спец-свойство Делать какое то спец-свойство для вашего ПО никто не будет. А с помощью компонентов с трёх вкладок много не напишешь. Как происходить формирование конечного EXE файла ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 10:41 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Компоненты в будущем я добавлю, это не проблема, так же как и количество вкладок в палитре. В среде используется «родной» компилятор из седьмой версии. Но это уже другая тема. Ещё месяца три-четыре и я закончу проект v. 1.0 полностью. Мой вопрос решён. Тема закрыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 10:51 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно. Если программа делает малую часть того что делает Delphi, используя компилятор Delphi. То зачем она нужна ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 10:54 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
DimaBrНе совсем понятно. Если программа делает малую часть того что делает Delphi, используя компилятор Delphi. То зачем она нужна ? О, это такое специфическое развлечение. Нужно исключительно для самоутверждения. В том топике, на который я давал ссылку, я как раз писал о тех людях, которые пишут слабое подобие Delphi на Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 11:17 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Никак не угомонятся..:)) А кто вам сказал, что меня устраивает родная среда?, а эту я делаю исключительно для себя, безо всяких там записей в системный реестр, размером дистрибьютива в гигабайт и прочей дублирующей и бестолковой бурды. В дальнейшем я полностью откажусь от родной среды и буду пользоваться своей и программы будут не многим хуже, чем у оригинала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 11:33 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
Linux_64, рекомендую посмотреть между делом на эти проекты: https://www.lazarus-ide.org/ https://plugins.jetbrains.com/plugin/7340-i-pascal ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 11:40 |
|
||
|
Как преобразовать строку с именем класса в тип этого класса?
|
|||
|---|---|---|---|
|
#18+
YuRockLinux_64это персональная среда разработки, основана на Delphi 7 , и вот когда она выйдет, а она уже готова на а 80%, вот тогда я над тобой посмеюсь...Слабак. Если б хотя бы на Delphi 3, а желательно - и ниже... Какие Дельфи 7 или 3? Судя по нику у него х64 линух. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2019, 15:16 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=61&tid=2038985]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 388ms |

| 0 / 0 |
