powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как зная Handle окна обратиться к объекту?
28 сообщений из 28, показаны все 2 страниц
Как зная Handle окна обратиться к объекту?
    #40080029
SergeyKNP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,

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

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

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

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

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

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

Как выполнить Form1.Proc?
Как выполнить Form1.Edit1.Tex:='бла-бла-бла'?
...
Рейтинг: 0 / 0
Как зная Handle окна обратиться к объекту?
    #40080051
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, тут программист нужен. ©
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как зная Handle окна обратиться к объекту?
    #40080054
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как зная Handle окна обратиться к объекту?
    #40080060
SergeyKNP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если при создании Form2 в качестве владельца была указана Form1 (а не Application), то можно Owner привести к Form1 и обращаться к нему, при этом также нужно добавить uses на этот модуль.

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

оно будет пустое.

> Искать по имени класса?

мальчик хочет по хендлу.
ну дык и пущай перебирает, вон же Polesov код привёл.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как зная Handle окна обратиться к объекту?
    #40080707
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
по хендлу.


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

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


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