powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Найти реализацию функции
35 сообщений из 35, показаны все 2 страниц
Найти реализацию функции
    #40023029
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исследую библиотеку x-SuperObject.
Но вопрос по среде и языку, а не по x-SuperObject.


Там есть .AsJSON
Код: pascal
1.
s := x.AsJSON(ident);


Щелкаю по AsJSON удерживая Ctrl и перехожу к интерфейсу (IBaseJSON<T, Typ> = interface(IBase)), где объявлена функция:
Код: pascal
1.
function AsJSON(const Ident: Boolean = False; const UniversalTime: Boolean = False): String;


А дальше как? Что и где нажать в IDE, чтобы меня перекинуло к реализации? Как найти тело самой функции?
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023041
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ctrl+Shift+Down.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023042
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так в том-то и дело, что не переходит
это ж интерфейс, там нет реализации
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023044
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
так в том-то и дело, что не переходит
это ж интерфейс, там нет реализации
ты сам ответил на свой вопрос, у интерфейса нет реализации, поэтому к ней ты и не можешь перейти)
тебе нужен класс, реализующий интерфейс, вот у него и смотри реализацию

другими словами, нужно щелкать на "x", который является реализацией и уже у него смотреть AsJSON
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023048
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, это понятно, я подумал, вдруг можно как-то другим способом...
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023049
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shift + Ctrl + F
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023133
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если стоят GExperts, то Ctrl-Alt-G и искать методы с теми же назаниями.
Проблема в том, что они могут быть в других юнитах.
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023135
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет такого
а как оно называется в настройках?
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023137
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
нет такого
а как оно называется в настройках?


Procedure List
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023138
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11
Ну да, это понятно, я подумал, вдруг можно как-то другим способом...

Что, о Великая Устрица, "другим"?
Это ИНТЕРФЕЙС.
Реализаций может быть сколько угодно, и даже ни одной.
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023139
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Procedure List

не, это Ctrl+G и это поиск в текущем модуле
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023141
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Это ИНТЕРФЕЙС.
Реализаций может быть сколько угодно, и даже ни одной.


я понимаю, но было бы здорово, если бы была возможность найти эти все реализации
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023142
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11
ъъъъъ
Это ИНТЕРФЕЙС.
Реализаций может быть сколько угодно, и даже ни одной.


я понимаю, но было бы здорово, если бы была возможность найти эти все реализации

В данном случае они том же модуле.
Список классов и их предков отображается в ide.
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023340
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Что, о Великая Устрица, "другим"?
Это ИНТЕРФЕЙС.
Реализаций может быть сколько угодно, и даже ни одной.
Удивительно, как JetBrains это умудрилось реализовать?
X11
Ну да, это понятно, я подумал, вдруг можно как-то другим способом...
Я в отладчике нажимаю F7 на методе.

Та же фигня с виртуальными методами
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023453
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
ъъъъъ
Что, о Великая Устрица, "другим"?
Это ИНТЕРФЕЙС.
Реализаций может быть сколько угодно, и даже ни одной.
Удивительно, как JetBrains это умудрилось реализовать?
Интересно, а если у интерфейса есть 10 различных реализаций, то какая реализация будет показана?) Рандомная?)

_Vasilisk_
X11
Ну да, это понятно, я подумал, вдруг можно как-то другим способом...
Я в отладчике нажимаю F7 на методе.

Та же фигня с виртуальными методами
это как бы логично. Отладчик идет как раз по тому коду, который выполняется, и по F7 как раз и переходит на нужную реализацию/виртуальный метод/overload функцию/etc

Непонятно, почему это вызывает удивление?)
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023461
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
Интересно, а если у интерфейса есть 10 различных реализаций, то какая реализация будет показана?) Рандомная?)


Рядом, в текущей процедуре, где выполняется (стартует) поиск, есть же строка создания конкретной реализации?
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023472
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
Интересно, а если у интерфейса есть 10 различных реализаций, то какая реализация будет показана?) Рандомная?)
Ті не поверишь. IDE покажет список из 10 классов и предложит выбрать, куда хочется перейти
asutp2
Непонятно, почему это вызывает удивление?)
Это не вызывает удивление. Это один из способов найти в Делфи нужную реализацию
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023475
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_>IDE покажет список из

Дельфи так не делает.
Но ведь мы любим его вовсе не из-за этого?
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023477
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
Рядом, в текущей процедуре, где выполняется (стартует) поиск, есть же строка создания конкретной реализации?

Я ведь это уже предлагал
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023478
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Дельфи так не делает.
Делфи много чего не делает, что должна делать нормальная IDE.

Когда после IDEA пересаживаюсь обратно в Delphi, то возникает ощущение, что открыл блокнот
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023484
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
ъъъъъ
Дельфи так не делает.
Делфи много чего не делает, что должна делать нормальная IDE.

Никто не мешает обвесить гирляндами новогоднюю ёлку, чтобы блестела со всех сторон.
Если мне ваша гирлянда не по вкусу, зачем она мне ?
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023485
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это точно, обвесов всяких и разных полно, на любой вкус.
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023549
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
X11
Рядом, в текущей процедуре, где выполняется (стартует) поиск, есть же строка создания конкретной реализации?

Я ведь это уже предлагал


Не совсем то. Вернее, совсем не то.
Я имел ввиду не поиск в текущем модуле по ключевой фразе.
Попробую на примере:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure Proc1(const sJSon: string);
var
  so: ISupertObject;// допустим, что это один интерфейс, но есть несколько его реализаций
  s: string;
begin
  so := TISupertObject.Create;// создаем объект уже конкретной реализации
  so.parse(sJSon);
  s := so.AsString;// здесь, удерживая клавишу Ctrl, нажимаю на AsString и меня должно перебросить на реализацию метода TISupertObject.AsString, а не на объявление ISupertObject.AsString
end;



Надесю, моя мечта когда-нибудь осуществится
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023550
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
Никто не мешает обвесить гирляндами новогоднюю ёлку, чтобы блестела со всех сторон.


только вот гирлянд нету
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023555
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11

Не совсем то. Вернее, совсем не то.
Я имел ввиду не поиск в текущем модуле по ключевой фразе.

Поиск ведётся не только в ТЕКУЩЕМ модуле, а в зависимости от настроек (проект, модуль, диск)


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
procedure Proc1(const sJSon: string);
var
  so: ISupertObject;// допустим, что это один интерфейс, но есть несколько его реализаций
  s: string;
begin
  if <УСЛОВИЕ>
    then so := TISupertObject.Create;// создаем объект уже конкретной реализации
    else so := TISupertObjectNew.Create;// создаем объект уже конкретной реализации
  so.parse(sJSon);
  s := so.AsString;// здесь, удерживая клавишу Ctrl, нажимаю на AsString и меня КУДА ДОЛЖНО ПЕРЕБРОСИТЬ ?
end;
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023562
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr, теперь не знаю... но в таком случае можно выдать некий список, пусть программист сам выбирает.
Кстати, похожая фигня и со справкой, когда жмякаешь F1 или Ctrl+F1.

Но твой случай бывает не так часто.
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023585
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот по этому Ctrl+Shift+F находить все реализации во всех модулях, указанного диска
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023586
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще раз: оно находит все упоминания, а не реализацию, а упоминаний может быть 20-30-50, а реализаций 1-2-3.
и функция Find in files ищет в текущем проекте, а не на диске
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023589
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вернее, не только в текущем проекте, а по умолчанию в текущем проекте
можно, конечно, выбрать Search in directories, но всё равно это не поиск реализации, а поиск по ключевой фразе
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023599
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
но всё равно это не поиск реализации, а поиск по ключевой фразе

вам шашечки или ехать ?
Напишите свой эксперт, который будет искать реализацию.
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023600
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr, ехать с шашечками (зачеркнуто) с комфортом :)
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023603
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте комфорт в своём доме самостоятельно
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023607
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не мой дом
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023663
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
еще раз: оно находит все упоминания, а не реализацию, а упоминаний может быть 20-30-50, а реализаций 1-2-3.
Регэкспом (знаю, что извращение)
T([a-z0-9_])*?\.AsStringИли банальноAsString:
...
Рейтинг: 0 / 0
Найти реализацию функции
    #40023673
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проше искать объявление реализации интерфейса
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Найти реализацию функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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