powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как из общего popupmenu вызвать продцедуру конкретной формы ?
7 сообщений из 7, страница 1 из 1
Как из общего popupmenu вызвать продцедуру конкретной формы ?
    #32086191
Dennis_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для некоторых компонентов TEdit DBGridEx и т.д. я использую общее popupmenu которое создано в отдельной форме. Т.к. эти компоненты выполняют некоторые одинаковые специфические функции.
Но вот возникла проблема ... по челчку на пункте меню надо вызвать какую то продцедуру конкретной формы где находиться контроль (реально надо опять же вызвать общую для всех контролей продцедуру но входные параметры надо взять из определенных контролей на форме, которые для разных форм разные) и у меня не получаеться этого сделать

Возможно ли это реализовать ?
...
Рейтинг: 0 / 0
Как из общего popupmenu вызвать продцедуру конкретной формы ?
    #32086192
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если я правильно понял вопрос, то нужно что-то в этом духе

1/ указать другие формы в uses той, где ваш popup
2/ использовать обращение к объекту такое
например из метода Form3 (где Popup)
Form1.Edit1.Text/Form2.CombBox2.Text
...
Рейтинг: 0 / 0
Как из общего popupmenu вызвать продцедуру конкретной формы ?
    #32086198
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как же можно заниматься программированием на объектном паскале, не понимая таких понятий ООП, как наследование и полиморфизм?
Создаёшь родовую форму и все остальные наследуешь от неё. Если в каждой форме по нажатию кнопки нужно вызывать разные методы - используй в базовой форме виртуальный абстрактный метод, который будешь перекрывать в наследниках и вызывать из него что захочешь.
Ну если уже поздно переделывать - попробуй химичить с перобразованиями типов, указателями или подобным баловством.
...
Рейтинг: 0 / 0
Как из общего popupmenu вызвать продцедуру конкретной формы ?
    #32086208
Dennis_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Элементы меню popup меню созданы в форме где находиться само popupmenu при выполнении определенных пунктов меню я получаю контроль как Screen.ActiveControl, теперь надо определить в какой форме находиться данный контроль и вызвать у этой формы определенную продцедуру. ТОесть надо плучить ссылку на форму ...
...
Рейтинг: 0 / 0
Как из общего popupmenu вызвать продцедуру конкретной формы ?
    #32086210
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неуж-то я непонятно намекнул? Я уж и не знаю, что тебе ещё сказать ...
...
Рейтинг: 0 / 0
Как из общего popupmenu вызвать продцедуру конкретной формы ?
    #32086214
Dennis_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Намек то понятен ...
1. Но я незнаю как мне получить ссылку на форму зная контроль находящийся на ней ?
2. Надо сделать так чтобы я мог в любой уже существующей форме проэкта указать для какогото контрола в свойстве poupupmenu описанное выше popupmenu и затем побавить продцедуру и все работа ло бы. :) возможно конечно что это невозможно ...
...
Рейтинг: 0 / 0
Как из общего popupmenu вызвать продцедуру конкретной формы ?
    #32086228
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
var
Control:TWinControl;
begin
Cintrol:=... // короче, в этой переменной д.б. указатель на твой контрол
while not Control is TForm do
Control:=Contro.Parent;
...

2. Так и не понял, и в чём проблема - в том числе ...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как из общего popupmenu вызвать продцедуру конкретной формы ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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