powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как преобразовать строку с именем класса в тип этого класса?
25 сообщений из 40, страница 1 из 2
Как преобразовать строку с именем класса в тип этого класса?
    #39860599
Linux_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброй вечер! Мой вопрос касается модуля 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 ?
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39860602
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64,

зачем тебе типы методов? Это ведь лишь сигнатуры.
Код: pascal
1.
  TNotifyEvent = procedure(Sender: TObject) of object;



Может, тебе именно сами методы нужны?
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39860605
Linux_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Типы методов я и так получаю, но в виде строки. А мне нужно передать этот параметр дальше
Например:
GetMethodRTTI(P: PTypeInfo, TS: TStrings);
И как быть с первым параметром?
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39860614
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64P:= ListBox4.Items[ListBox4.ItemIndex]; - // не работает
Не удивительно. Судя по этой строчке, Вы пытаетесь написать "Мастера и Маргариту" прежде чем одолели букварь.

Linux_64Возможно следует в список строк добавлять не просто строки, а объекты, типа AddObject ?
Вы пытаетесь сделать самую страшную вещь, которую можно делать в такой ситуации: Вы гадаете. Шаманите. Бросьте эту привычку раз и навсегда, иначе программиста из Вас никогда не получится. Программист должен разбираться. Понимать, что он делает и для чего. Какой результат он получит от своих действий, а если не получил его - в чём ошибся, почему результат именно таков, какой есть.

Вам следует взять хорошую книгу по программированию на Delphi и внимательно изучить её, начиная с более простых примеров. Та тема, непонимание которой Вы сейчас демонстрируете - типы данных и работа с ними. Цель присваивания - переменная P - имеет тип PTypeInfo. То есть "указатель на TTypeInfo". Поэтому справа должно стоять либо выражение типа PTypeInfo, либо выражение, автоматически к нему приводимое. Что у Вас стоит справа? Строка? Так чего же Вы ждёте? Берите книгу и читайте с начала и до тех пор, пока не сможете сформулировать правильный для этой ситуации вопрос.

И ещё один добрый совет. Если то, что Вы пишете, предназначено в реальную работу - честно скажите заказчику, что Вы не готовы и проектировать это решение должен более опытный программист. Потому что с вероятностью 95% окажется, что никакого TNotifyEvent там вообще и не нужно.
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39860641
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64У меня имеется список ListBox, в котором находятся имена типов методов (событий) в виде обычных строк: TNotifyEvent, TMouseEvent, TDrawItemEvent и так далее.
Как они попадают в этот список ?
Опишите задачу целиком, а не а не тупик в середине, с которого выхода нет.
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39860642
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вазможно это вам поможет
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861060
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

зачем умничаешь, код давай
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861215
Linux_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что, значит бросьте эту привычку?
Я спросил у вас совета, но вы начинаете умничать, хорошо, допустим у вас мозгов больше чем у меня, но неужели вам, мозговитым чувакам, так сложно мне подсказать решение?
Очень скоро, я , - тупой дурак, предоставлю вам свою разработку, которую создавал более года, я приоткрою шторы: это персональная среда разработки, основана на Delphi 7 , и вот когда она выйдет, а она уже готова на а 80%, вот тогда я над тобой посмеюсь...
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861220
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64,

эта персональная среда будет в Linux 64-битном работать?
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861225
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64Что, значит бросьте эту привычку?
То и значит. Если хотите когда-нибудь стать программистом, а не амбициозным нулём-энтузиастом - переставайте шаманить и начинайте копать, изучать и разбираться.

Linux_64Я спросил у вас совета,
И я дал Вам совет. Ровно такой же, какой дал бы, например, своему сыну, если бы он пришёл с тем же вопросом.

Linux_64хорошо, допустим у вас мозгов больше чем у меня, но неужели вам, мозговитым чувакам, так сложно мне подсказать решение?
Представь себе, что ты пришёл на прыгодром и говоришь: чуваки, я сшил парашют, только он у меня не раскрывается, помогите. Тебе отвечают: дурилка, проектировать парашюты нужно уметь, шить тем более, убьёшься же нахрен. И тут ты обижаешься: сложно, что ли, подсказать решение?

Linux_64Очень скоро, я , - тупой дурак, предоставлю вам свою разработку, которую создавал более года, я приоткрою шторы: это персональная среда разработки, основана на Delphi 7 , и вот когда она выйдет, а она уже готова на а 80%, вот тогда я над тобой посмеюсь...
Ох, что-то вас в этом году густо повалило... . Представляй, представляй. А лучше посмотри форум - такие каждый год приходят, весной и осенью. И до сих пор ещё ни один не вернулся с готовым решением.
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861228
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64персональная среда разработки, основана на Delphi 7
Утираю слезы умиления!

Нас ждет разбработки на базе основы 17-летней давности!
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861237
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64это персональная среда разработки, основана на Delphi 7 , и вот когда она выйдет, а она уже готова на а 80%, вот тогда я над тобой посмеюсь...Слабак.
Если б хотя бы на Delphi 3, а желательно - и ниже...
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861243
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatУтираю слезы умиления!

слава попова и бабушкина не дает автору покая
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861250
Linux_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что в ДНР больше заняться нечем, чем критиковать?
На тройке?, это ещё на чем?, на единичке? Или может в обычном блокноте?
Вопрос решен. Тема закрыта.
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861257
Linux_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лишний раз себе доказываю, что если не пить пиво и не гулять по девочкам, то мозг начинает работать...
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861264
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64,

Может быть, может быть. Но разве это жизнь?))
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861299
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Linux_64
А ваша "среда" поддерживает сторонние компоненты и их редакторы ?
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861348
Linux_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет. Только стандартные редакторы свойств:
Редактор строк (TStrings), редактор иконок и изображений (TPicture, TBitmap, TIcon), редактор панелей для StatusBar. Установка сторонних компонентов предусмотрена, но если у него есть спец-свойство, невозможно написать редактор свойств для данного типа, хотя сам редактор может поставляться вместе с компонентом. Мне пока не до сторонних компонентов, это в будущем.
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861361
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64 Установка сторонних компонентов предусмотрена, но если у него есть спец-свойство
Делать какое то спец-свойство для вашего ПО никто не будет. А с помощью компонентов с трёх вкладок много не напишешь.
Как происходить формирование конечного EXE файла ?
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861370
Linux_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Компоненты в будущем я добавлю, это не проблема, так же как и количество вкладок в палитре. В среде используется «родной» компилятор из седьмой версии. Но это уже другая тема. Ещё месяца три-четыре и я закончу проект v. 1.0 полностью.
Мой вопрос решён. Тема закрыта.
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861373
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятно. Если программа делает малую часть того что делает Delphi, используя компилятор Delphi. То зачем она нужна ?
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861388
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBrНе совсем понятно. Если программа делает малую часть того что делает Delphi, используя компилятор Delphi. То зачем она нужна ?
О, это такое специфическое развлечение. Нужно исключительно для самоутверждения. В том топике, на который я давал ссылку, я как раз писал о тех людях, которые пишут слабое подобие Delphi на Delphi.
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861401
Linux_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никак не угомонятся..:))
А кто вам сказал, что меня устраивает родная среда?, а эту я делаю исключительно для себя, безо всяких там записей в системный реестр, размером дистрибьютива в гигабайт и прочей дублирующей и бестолковой бурды. В дальнейшем я полностью откажусь от родной среды и буду пользоваться своей и программы будут не многим хуже, чем у оригинала.
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861405
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux_64,

рекомендую посмотреть между делом на эти проекты:

https://www.lazarus-ide.org/
https://plugins.jetbrains.com/plugin/7340-i-pascal
...
Рейтинг: 0 / 0
Как преобразовать строку с именем класса в тип этого класса?
    #39861605
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockLinux_64это персональная среда разработки, основана на Delphi 7 , и вот когда она выйдет, а она уже готова на а 80%, вот тогда я над тобой посмеюсь...Слабак.
Если б хотя бы на Delphi 3, а желательно - и ниже...
Какие Дельфи 7 или 3? Судя по нику у него х64 линух.
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как преобразовать строку с именем класса в тип этого класса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]