Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];

Вниз

Работа с окном другого приложения   Найти похожие ветки 

 
Afonya   (2008-12-17 18:27) [0]

Добрый день, мастера!
Подскажите, пожалуйста, дельным советом, а лучче скриптом :-)
  Есть сорцы приложения. (назовем его А1)
Необходимо, вызвать определенный метод головного окна, из стороннего приложения, например из функции длл-ки. А теперь самое "сложное"... в исходниках А1 ничего не менять.
  Как я вижу решение этой проблемы: написать с использованием сорцов А1 длл-ку, которая знает тип главной формы и, соответственно, все ее методы и свойства. Необходимо только подключиться к главной форме А1 (передать хендл окна) и тогда для длл-ки открывается доступ ко всем методам и свойствам всей формы. Но вот как это сделать? Может кто-нибудь делал хоть что-то поодобное?


 
Сергей М. ©   (2008-12-17 20:44) [1]


> метод головного окна


1. У окна нет методов. Методы есть у формы.
2. "Головное" окно VCL-приложения - это окно размером 0х0, контролируемое объектом Application, а не то что ты думаешь.
3.  MainForm - это основная форма, а не "головное окно". Главное окно VCL-приложения и окно основной форма - это два совершенно разных окна.
4. Твоя идея возможна как минимум при условии, что  dll собрана в той же версии Делфи, в которой было собрано приложение.


 
Eraser ©   (2008-12-17 20:57) [2]

> [1] Сергей М. ©   (17.12.08 20:44)


> 2. "Головное" окно VCL-приложения - это окно размером 0х0,
> контролируемое объектом Application, а не то что ты думаешь.

начиная с Д2007 это немного по-другому, в большенстве случаев. там та часть VCL что за менеджмент окнами отвечает переписана полностью. в Д2009 в прочем все переписано почти полностью еще раз.


 
Сергей М. ©   (2008-12-17 21:56) [3]


> Eraser ©   (17.12.08 20:57) [2]


Не буду возражать.
Но автор явно упомянул Д5, значит вплоть до Д7 включительно это будет верным.


 
Германн ©   (2008-12-18 00:39) [4]


> Eraser ©   (17.12.08 20:57) [2]
>
> > [1] Сергей М. ©   (17.12.08 20:44)
>
>
> > 2. "Головное" окно VCL-приложения - это окно размером
> 0х0,
> > контролируемое объектом Application, а не то что ты думаешь.
>
>
> начиная с Д2007 это немного по-другому, в большенстве случаев.
>  там та часть VCL что за менеджмент окнами отвечает переписана
> полностью. в Д2009 в прочем все переписано почти полностью
> еще раз.
>

Интересно. Ссылки какие-нибудь можешь дать без лишнего напряга? Надо бы нашим Землян..., пардон нашим программистам дать ознакомиться.


 
Afonya   (2008-12-18 17:25) [5]

Сергей М. а можно небольшой примерчик?
Ну хотябы приложение с главной формой.
А длл-ка вызывает какой-то метод этой главной формы...


 
Сергей М. ©   (2008-12-18 20:32) [6]

А как твоя dll окажется в адр.пространстве процесса приложения А1 ?


 
Leonid Troyanovsky ©   (2008-12-18 23:24) [7]


> Afonya   (17.12.08 18:27)  

>   Как я вижу решение этой проблемы: написать с использованием
> сорцов А1 длл-ку, которая знает тип главной формы и, соответственно,
>  все ее методы и свойства. Необходимо только подключиться
> к главной форме А1 (передать хендл окна) и тогда для длл-
> ки открывается доступ ко всем методам и свойствам всей формы.

Это заблуждение.
У приложения и длл разные Application, Screen, PopupMenues &etc
Кроме того, разные RTTI & etc.

--
Regards, LVT.


 
Германн ©   (2008-12-19 01:32) [8]


> в исходниках А1 ничего не менять.

Изврат. Если есть исходники.


 
KSergey ©   (2008-12-19 09:38) [9]

> Германн ©   (19.12.08 01:32) [8]
> Изврат. Если есть исходники.

"Нормальные герои всегда идут в обход"
"Сами создадим себе сложности и будет их героически преодолевать"



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.112 c
15-1256014283
Дмитрий С
2009-10-20 08:51
2009.12.20
посоветуйте очень простой datetime picker на javascript


2-1257184353
virtual dir
2009-11-02 20:52
2009.12.20
InProcServer32


1-1228851112
Tack
2008-12-09 22:31
2009.12.20
Как открыть длинный URL в браузере?


2-1257094427
Don
2009-11-01 19:53
2009.12.20
Как сделать компонент image1 на форме полупрозрачным


2-1256792265
d@nger
2009-10-29 07:57
2009.12.20
Транзакция в TFIBdataset





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский