Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизMethodName Найти похожие ветки
← →
TStas (2012-05-20 10:19) [0]Есть класс наследник TComponent. Он в дельфи пока не установлен. Для его метода MethodName возвращает пустую строку. Это так и должно быть? Область видимости метода пробовал менять, лучше от этого не стало.
← →
Anatoly Podgoretsky © (2012-05-20 10:31) [1]Что значит не установлен
← →
brother © (2012-05-20 10:37) [2]имхо, имеется ввиду в дизайнер...
← →
TStas (2012-05-20 10:38) [3]А как установлю, появится?
← →
Anatoly Podgoretsky © (2012-05-20 10:57) [4]Из справки
There should be no need to call MethodName directly.
← →
TStas (2012-05-20 11:42) [5]Понял :(
← →
Юрий Зотов © (2012-05-20 17:57) [6]
> TStas (20.05.12 10:19)
MethodName, MethodAddress и т.п. определяются по таблице методов, адрес которой хранится в VMT. Откуда же среда возьмет эту самую VMT, если компонент еще не установлен? Ее еще не существует.
← →
Юрий Зотов © (2012-05-20 18:46) [7]> TStas (20.05.12 10:19)
Сорри, не сразу понял вопрос. MethodName - это для published-методов, сиречь для обработчиков событий (поскольку другие методы пихать в published просто незачем).
Из хелпа:
If Address does not point to a published method of the object, MethodName returns an empty string.
← →
Anatoly Podgoretsky © (2012-05-20 18:52) [8]> Юрий Зотов (20.05.2012 18:46:07) [7]
Вообще то
> MethodName is used internally by the streaming system.
← →
Юрий Зотов © (2012-05-20 19:21) [9]
> Anatoly Podgoretsky © (20.05.12 18:52) [8]
Совершенно верно, вызывается "изнутри". Но никто не запрещает вызвать и "снаружи", если надо. Задачи ведь разные бывают.
← →
Anatoly Podgoretsky © (2012-05-20 21:56) [10]> Юрий Зотов (20.05.2012 19:21:09) [9]
Я ударение поставил на streaming
Загрузка и запись из/в потока
← →
Юрий Зотов © (2012-05-20 22:13) [11]
> Anatoly Podgoretsky © (20.05.12 21:56) [10]
И что? Ну да, эти методы вызываются при работе с потоками (в частности, при чтении DFM). Но разве это означает, что их нельзя вызывать с другими целями? Не означает, конечно.
← →
TStas (2012-05-21 23:14) [12]Проблемы я решил, всё работает, просто мне решение кажется некрасчивым. Смысл был в том, что быстрым клавишам, но не стандартным ShortCut, а, например, чтобы можно было, как в Дельфи, текст сдвигать Ctrl + Shift + I или что-то подобное делать. А конечной задачей было всё это в dfm запихать. Решил незатейливо: поскольку методов, которые клавишам могут быть назначены, не так-то и много, то запихал их имена в TStringList, а потом Case StringList.IndexOf(AName) of ... Всё чудно работает, пишется/читается из dfm, но как-то не красиво это.
>И что? Ну да, эти методы вызываются при работе с потоками (в частности, при чтении DFM). Но разве это означает, что их нельзя вызывать с другими целями? Не означает, конечно. //Вот-вот. Особенно, что для dfm мне и было нужно.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.062 c