IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> из глобального модуля вызвать функцию модуля формы, в обработке
serezhick
сообщение Jun 11 2009, 11:40
Сообщение #1


Пользователь
**

Группа: Пользователи
Сообщений: 32
Регистрация: 28-January 04
Пользователь №: 1227



Есть обработка. Из нее вызывается функция из глобального модуля. При вызове функции в нее передается: ЭтотОбъект, ЭтаФорма.
В глобальном модуле необходимо вызвать процедуру объявленную в этой обработке.
Как это можно сделать?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
NewB
сообщение Jun 11 2009, 11:49
Сообщение #2


Пользователь
**

Группа: Пользователи
Сообщений: 78
Регистрация: 31-October 07
Пользователь №: 13540



Может не стоит париться с общим модулем, а попробовать подойти к решению с другой стороны? Возьми эту функцию из общего модуля и продублируй ее в своей обработке. Тогда у тебя точно не возникнет проблем с вызовом твоих процедур. Все это будет располагаться в пределах одного объекта.


--------------------
Лень - двигатель прогресса... сам проверял.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
serezhick
сообщение Jun 11 2009, 11:52
Сообщение #3


Пользователь
**

Группа: Пользователи
Сообщений: 32
Регистрация: 28-January 04
Пользователь №: 1227



Согласен, но процедуру хотел использовать ещё в 10 обработках. Чтобы одно и тоже в 10-ти местах не писать, хочется сделать красивоsmile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
epon
сообщение Jun 15 2009, 05:53
Сообщение #4


Начинающий
*

Группа: Пользователи
Сообщений: 24
Регистрация: 26-April 07
Пользователь №: 11561



Если функция объявлена в модуле обработки, то должно получиться ЭтотОбъект.ОбъявленнаяФункция().
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
NewB
сообщение Jun 16 2009, 04:06
Сообщение #5


Пользователь
**

Группа: Пользователи
Сообщений: 78
Регистрация: 31-October 07
Пользователь №: 13540



Не знаю, нашел ты уже решение или нет, но сделать это можно.
Причем вызывать можно как процедуры из формы, так и из модуля обработки.

В случае с формой ты из своего глобального модуля обращаешься:

Форма.ПроцедураФормы(Параметр1,Параметр2...);

В случае, если ты хочешь достать из модуля, можно применить конструкцию:

Форма.ОбработкаОбъект.ПроцедураМодуляОбъекта();

Есть только одно НО - процедуры должны быть экспортными.

пример eponа не отработает - глобальный модуль не знает, что такое ЭтотОбъект.


--------------------
Лень - двигатель прогресса... сам проверял.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
epon
сообщение Jun 16 2009, 07:00
Сообщение #6


Начинающий
*

Группа: Пользователи
Сообщений: 24
Регистрация: 26-April 07
Пользователь №: 11561



Цитата(epon @ Jun 15 2009, 05:53) *
Если функция объявлена в модуле обработки, то должно получиться ЭтотОбъект.ОбъявленнаяФункция().


Уточняю ЭтотОбъект - это переменная переданная в функцию глобального модуля
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
noen
сообщение Oct 31 2009, 04:27
Сообщение #7


Начинающий
*

Группа: Пользователи
Сообщений: 1
Регистрация: 31-October 09
Пользователь №: 18785



biggrin.gif
"forma".m_void();

((Form)obj).m_void();
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 23rd September 2014 - 21:20