<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=SendMessageToForm</id>
	<title>SendMessageToForm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=SendMessageToForm"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=SendMessageToForm&amp;action=history"/>
	<updated>2026-04-04T14:29:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=SendMessageToForm&amp;diff=1926&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=SendMessageToForm&amp;diff=1926&amp;oldid=prev"/>
		<updated>2021-02-07T06:52:40Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:52, 7 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=SendMessageToForm&amp;diff=1925&amp;oldid=prev</id>
		<title>Admin at 11:04, 30 October 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=SendMessageToForm&amp;diff=1925&amp;oldid=prev"/>
		<updated>2020-10-30T11:04:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=SendMessageToForm&lt;br /&gt;
|object=[[Функции общего назначения]]&lt;br /&gt;
|caption=Доставка сообщений&lt;br /&gt;
|type=1&lt;br /&gt;
|status=1&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Невозможно превратить в число, строку, неверный аргумент&lt;br /&gt;
|visual=1}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Функции общего назначения]]}}&lt;br /&gt;
Функция осуществляет доставку пользовательского сообщения с параметрами указанной по серийному номеру форме. Для формы будет вызвано [[Студия/Визуальные события|прерывающее]] визуальное событие [[Студия/OnMessage|OnMessage]]. Доставка также может быть осуществлена макросу, располагающемуся на форме или указанной по имени странице страничного элемента. Функция возвращается после обработки сообщения формой или ошибке при доставке. Серийный номер формы можно получить с помощью функции [[Form.SerialNumber]] или как один из аргументов функции [[LoadToolForm]].&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''SendMessageToForm'''(''&amp;lt;Серийный номер формы (INT)&amp;gt;'',''&amp;lt;Код сообщения (INT)&amp;gt;''{{OptionalByRef|,&amp;lt;Параметр&amp;gt;,&amp;lt;Опция&amp;gt;}}{{Optional|,&amp;lt;Гарантировать доставку (INT)&amp;gt;{{Default|{{Eq}}1}},&amp;lt;Имя макроса или страницы объекта формы (STRING)&amp;gt;{{Default|{{Eq}}&amp;quot;&amp;quot;}}}}):''&amp;lt;Сообщение не было доставлено 0 или результат выполнения OnMessage&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Серийный номер формы (INT)&amp;gt;''&amp;lt;/code&amp;gt; - Серийный номер формы, которой необходимо отправить сообщение.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Код сообщения (INT)&amp;gt;''&amp;lt;/code&amp;gt; - Произвольный код сообщения, коды 1-10000 рекомендуется использовать для нужд проекта, остальные для нужд внешних обработок.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Параметр&amp;gt;,&amp;lt;Опция&amp;gt;''&amp;lt;/code&amp;gt; - {{ByRef}} {{Optional}} Произвольные параметры, передаваемые обработчику события ''OnMessage'' и доступные в нем под именами '''Param''' и '''Option'''. При этом событие может изменить эти переменные и изменение будет транслировано на локальные переменные после окончания работы обработчика.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Гарантировать доставку (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Принимает значения: 1 (по умолчанию) -- поток будет ожидать окончания выполнения других событий и после этого будет запущено событие ''OnMessage'', что может занять продолжительное время, 0 -- поток запустит событие ''OnMessage'' только в случае, если поток-получатель сейчас свободен (или выполняет прерываемую работу), иначе функция вернет 0.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Имя макроса или страницы объекта формы (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Planned}} Имя визуального объекта макроса или страницы страничного объекта в виде (&amp;lt;Имя страничного объекта&amp;gt;#&amp;lt;Номер или имя страницы объекта&amp;gt;). Если данный аргумент занят, сообщение будет доставлено не обработку самой формы, а указанному элементу формы, если он существует.&lt;br /&gt;
&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
Возвращает 0 если сообщение не было доставлено или событие ''OnMessage'' не инициировано (форма с таким серийным номером не существует или была занята и пр.), в ином случае возвращает значение, которое доступно в переменной '''Result''' при выполнении события ''OnMessage''. Переменная инициализируется числом 1, поэтому, если не используется более сложный механизм при передаче результата, можно считать, что 1 -- сообщение было доставлено и обработано (при этом само событие ''OnMessage'' имеет возможность изменить возвращаемое значение на 0). Если требуется возвращать другие результаты, нужно иметь в виду, что система в любом случае возвратит 0, если сообщение не было доставлено.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Обработчик визуального события OnMessage (редактируется в редакторе форм Студии)&lt;br /&gt;
Message(&amp;quot;Было получено сообщение: &amp;quot;+Message+&amp;quot; с параметрами &amp;quot;&amp;quot;+Param+&amp;quot;&amp;quot;,&amp;quot;&amp;quot;+Option+&amp;quot;&amp;quot;&amp;quot;&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Отсылает сообщение 10001 без дополнительных параметров текущей форме&lt;br /&gt;
SendMessageToForm(Form.SerialNumber,10001);&lt;br /&gt;
//В лог будет выведено &amp;quot;Было получено сообщение: 10001 с параметрами &amp;quot;&amp;quot;,&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>