<?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=PostMessageToForm</id>
	<title>PostMessageToForm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=PostMessageToForm"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=PostMessageToForm&amp;action=history"/>
	<updated>2026-04-04T13:12:36Z</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=PostMessageToForm&amp;diff=1782&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=PostMessageToForm&amp;diff=1782&amp;oldid=prev"/>
		<updated>2021-02-07T06:52:24Z</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=PostMessageToForm&amp;diff=1781&amp;oldid=prev</id>
		<title>Admin at 20:39, 3 December 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=PostMessageToForm&amp;diff=1781&amp;oldid=prev"/>
		<updated>2020-12-03T20:39:22Z</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=PostMessageToForm&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]]. PostMessageToForm отличается от [[SendMessageToForm]] тем, что ни при каких условиях не будет занимать продолжительное время, даже если сообщение не удается отправить сразу же и обработчик отправки будет пытаться сделать это некоторое время, поток, вызвавший PostMessageToForm продолжит работу.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''PostMessageToForm'''(''&amp;lt;Серийный номер формы (INT)&amp;gt;'',''&amp;lt;Код сообщения (INT)&amp;gt;''{{Optional|,&amp;lt;Параметр&amp;gt;,&amp;lt;Опция&amp;gt;,&amp;lt;Гарантировать доставку (INT)&amp;gt;{{Default|{{Eq}}1}},&amp;lt;Имя макроса или страницы объекта формы (STRING)&amp;gt;{{Default|{{Eq}}&amp;quot;&amp;quot;}}}}):''&amp;lt;Сообщение было отправлено 0 или 1 (INT)&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; - {{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'' не инициировано (форма с таким серийным номером не существует или была занята и пр.), в ином случае возвращает 1.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Обработчик визуального события OnMessage (редактируется в редакторе форм Студии)&lt;br /&gt;
Sleep(1000);&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;
PostMessageToForm(&amp;lt;Серийный номер формы с обтаботчиком&amp;gt;,10001);&lt;br /&gt;
Message(&amp;quot;Проверка последовательности выполнения функций&amp;quot;);&lt;br /&gt;
//Для текущей формы, в лог будет выведено: &amp;quot;Было получено сообщение: 10001 с параметрами &amp;quot;&amp;quot;,&amp;quot;&amp;quot;&lt;br /&gt;
//  затем &amp;quot;Проверка последовательности выполнения функций&amp;quot; (если код вызывался из асинхронного события)&lt;br /&gt;
//Для формы другого потока: &amp;quot;Проверка последовательности выполнения функций&amp;quot; &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>