Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как зная Handle окна обратиться к объекту? / 25 сообщений из 28, страница 1 из 2
25.06.2021, 09:40
    #40080029
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Добрый день,

подскажите плиз,
как зная Handle окна обратиться к объекту на этом окне?

Заранее благодарен.
...
Рейтинг: 0 / 0
25.06.2021, 10:04
    #40080033
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Что значит "обратиться"?
...
Рейтинг: 0 / 0
25.06.2021, 10:05
    #40080034
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
...и к процедуре в другой форме?
...
Рейтинг: 0 / 0
25.06.2021, 10:05
    #40080035
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
SergeyKNP
...и к процедуре в другой форме?

Добавляешь модуль с формой в uses и обращаешься к ней и её процедурам.
...
Рейтинг: 0 / 0
25.06.2021, 10:12
    #40080038
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
SergeyKNP
...и к процедуре в другой форме?
Форма - это текстовый ресурс с разметкой. Процедур в ней нет.
...
Рейтинг: 0 / 0
25.06.2021, 10:37
    #40080049
delphinotes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
SergeyKNP,

Код: pascal
1.
2.
unit Vcl.Controls;
function FindControl(Handle: HWND): TWinControl;
...
Рейтинг: 0 / 0
25.06.2021, 10:37
    #40080050
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
wadman,

Form1 создана динамически (в public есть процедура MyProc ), на ней так же динамически созданы например Button и Edit
при создании прописываем все необходимые свойства.

по клику на Button1 открываем Form2.Show
на Form2.FormClose хочу кое-что сделать на Form1 перед закрытием

Как выполнить Form1.Proc?
Как выполнить Form1.Edit1.Tex:='бла-бла-бла'?
...
Рейтинг: 0 / 0
25.06.2021, 10:39
    #40080051
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
имхо, тут программист нужен. ©
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.06.2021, 10:52
    #40080054
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
SergeyKNP

Form1 создана динамически (в public есть процедура MyProc ), на ней так же динамически созданы например Button и Edit
при создании прописываем все необходимые свойства.

по клику на Button1 открываем Form2.Show
на Form2.FormClose хочу кое-что сделать на Form1 перед закрытием

Как выполнить Form1.Proc?
Как выполнить Form1.Edit1.Tex:='бла-бла-бла'?


Если при создании Form2 в качестве владельца была указана Form1 (а не Application), то можно Owner привести к Form1 и обращаться к нему, при этом также нужно добавить uses на этот модуль.
...
Рейтинг: 0 / 0
25.06.2021, 11:03
    #40080060
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Если при создании Form2 в качестве владельца была указана Form1 (а не Application), то можно Owner привести к Form1 и обращаться к нему, при этом также нужно добавить uses на этот модуль.

Form2 в данном случае не динамическая а созданная при создании самого проекта, т.е. из статически-созданной формы обратиться и выполнить процедуру формы созданной динамически.
...
Рейтинг: 0 / 0
25.06.2021, 11:40
    #40080079
cptngrb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
SergeyKNP, а в чем разница между разными способами создания формы? ты в любом случае обращаешься к экземпляру формы, например,

Код: pascal
1.
Form1.Button1.Click;
...
Рейтинг: 0 / 0
25.06.2021, 12:43
    #40080105
Polesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Привет.

SergeyKNP
Добрый день,

подскажите плиз,
как зная Handle окна обратиться к объекту на этом окне?

Если использование Handle принципиально, можно перебирать Screen.Forms, проверяя на совпадение Handle.
Ну, и найденную форму проверить на требуемый тип и привести к этому типу.
...
Рейтинг: 0 / 0
25.06.2021, 15:00
    #40080141
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
SergeyKNP
Form1 создана динамически


и что, при создании формы нельзя записать ее дискриптор в какую-нибудь глобальную переменную?
...
Рейтинг: 0 / 0
25.06.2021, 15:07
    #40080144
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
25.06.2021 15:00, X11 пишет:
>
> и что, при создании формы нельзя записать ее дискриптор в какую-нибудь глобальную переменную?

нафига?
Screen содержит всё что нужно, независимо от того как была создана форма.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.06.2021, 15:43
    #40080153
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
....и сейчас "внезапно" выяснится, что у аффтара форма - в другом процессе/приложении...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.06.2021, 15:56
    #40080156
Polesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Dimitry Sibiryakov

....и сейчас "внезапно" выяснится, что у аффтара форма - в другом процессе/приложении...

Не похоже 22340110
...
Рейтинг: 0 / 0
25.06.2021, 17:29
    #40080181
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Мимопроходящий

25.06.2021 15:00, X11 пишет:
>
> и что, при создании формы нельзя записать ее дискриптор в какую-нибудь глобальную переменную?

нафига?
Screen содержит всё что нужно, независимо от того как была создана форма.



я пробовал обе логики, но почему-то если вызвать форму1 например так
TForm1(Form1HNDL).FDQuery.Close;
TForm1(Form1HNDL).FDQuery.Open;

где Form1HNDL соответственно Form1.Handle записано на Form2 в
public
Form4HNDL:HWND;


всё компилится, но при выполнении AV.
...
Рейтинг: 0 / 0
25.06.2021, 17:33
    #40080183
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
25.06.2021 17:29, SergeyKNP пишет:
> всё компилится, но при выполнении AVю

не взлетит.
тут программист нужен.
АднАзнАчнА!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.06.2021, 18:48
    #40080204
Polesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
SergeyKNP

я пробовал обе логики, но почему-то если вызвать форму1 например так
TForm1(Form1HNDL).FDQuery.Close;
TForm1(Form1HNDL).FDQuery.Open;

где Form1HNDL соответственно Form1.Handle записано на Form2 в
public
Form4HNDL:HWND;


всё компилится, но при выполнении AV.


Код: pascal
1.
2.
3.
4.
  for i := 0 to Pred( Screen.FormCount ) do
    if Screen.Forms[i].Handle = MyBestHandle then
      if Screen.Forms[i] is TMyBestBorm2 then
        TMyBestBorm2( Screen.Forms[i] ).blah-blah-blah
...
Рейтинг: 0 / 0
25.06.2021, 19:11
    #40080205
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Polesov,

ок, попробую, отпишусь.

СПС!!!
...
Рейтинг: 0 / 0
25.06.2021, 19:15
    #40080206
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
SergeyKNPгде Form1HNDL соответственно Form1.Handle записано на Form2 в
public
Form4HNDL:HWND;

Теперь попробуй логику попроще: записывай в Form1HNDL не Form1.Handle, а прямо Form1 в виде
public
Form4HNDL: TForm1;

И всё станет гораздо проще.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.06.2021, 00:34
    #40080239
Polesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Dimitry Sibiryakov

Теперь попробуй логику попроще: записывай в Form1HNDL не Form1.Handle, а прямо Form1 в виде
public
Form4HNDL: TForm1;

И будет циклический uses.
...
Рейтинг: 0 / 0
26.06.2021, 01:12
    #40080245
Vizit0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
сначала подумал, что сегодня пятница.

Оказалось, что реально она.
И топик тому подтверждение)
...
Рейтинг: 0 / 0
26.06.2021, 18:48
    #40080301
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Vizit0r,

кругом суббота, а у меня четверг
...
Рейтинг: 0 / 0
29.06.2021, 10:49
    #40080662
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как зная Handle окна обратиться к объекту?
Мимопроходящий
нафига?
Screen содержит всё что нужно, независимо от того как была создана форма.


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


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