<?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=Lib.CreateCallbackFunction</id>
	<title>Lib.CreateCallbackFunction - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Lib.CreateCallbackFunction"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Lib.CreateCallbackFunction&amp;action=history"/>
	<updated>2026-04-04T11:06:56Z</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=Lib.CreateCallbackFunction&amp;diff=5212&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Lib.CreateCallbackFunction&amp;diff=5212&amp;oldid=prev"/>
		<updated>2026-04-01T09:59:32Z</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 09:59, 1 April 2026&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=Lib.CreateCallbackFunction&amp;diff=5211&amp;oldid=prev</id>
		<title>1&gt;Admin at 16:20, 8 January 2026</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Lib.CreateCallbackFunction&amp;diff=5211&amp;oldid=prev"/>
		<updated>2026-01-08T16:20:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 16:20, 8 January 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot; &gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;''&amp;lt;Имя функции (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Аргумент задает имя локальной или глобальной функции, которой будет передано управление в момент внешнего вызова системной функции, задаваемой своим адресом.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;''&amp;lt;Имя функции (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Аргумент задает имя локальной или глобальной функции, которой будет передано управление в момент внешнего вызова системной функции, задаваемой своим адресом.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;''&amp;lt;Глубина поиска (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Задает способ поиска локальной функции. Может принимать следующие значения:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;''&amp;lt;Глубина поиска (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Задает способ поиска локальной функции. Может принимать следующие значения:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** -1 -- выполнять поиск по последовательности функций из стека вызовов, а не искать, используя подчинение функций на момент компиляции. Этот способ предпочтительнее использовать в компилированных функциях, вызываемых из разных мест модуля или из разных модулей, чтобы получить доступ к реальной среде функций, а не к оной на момент компиляции.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** 0 (по умолчанию) -- выполнять поиск во всех модулях [[Общее описание языка#Вложенность функций и модулей, уровни вложенности|большего уровня вложенности]] (родительских) и во всех глобальных модулях.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** 0 (по умолчанию) -- выполнять поиск во всех модулях [[Общее описание языка#Вложенность функций и модулей, уровни вложенности|большего уровня вложенности]] (родительских) и во всех глобальных модулях.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** 1 -- выполнять поиск только внутри текущего модуля.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** 1 -- выполнять поиск только внутри текущего модуля.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=Lib.CreateCallbackFunction&amp;diff=4722&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Lib.CreateCallbackFunction&amp;diff=4722&amp;oldid=prev"/>
		<updated>2024-01-17T11:58:16Z</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 11:58, 17 January 2024&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=Lib.CreateCallbackFunction&amp;diff=4721&amp;oldid=prev</id>
		<title>1&gt;Admin at 13:03, 10 January 2024</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Lib.CreateCallbackFunction&amp;diff=4721&amp;oldid=prev"/>
		<updated>2024-01-10T13:03:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 13:03, 10 January 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot; &gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Объекты]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Объекты]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Объект загружаемой системной библиотеки|Библиотека]]}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Объект загружаемой системной библиотеки|Библиотека]]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Функция создает особую область в памяти, вызывая которую, любая внешняя библиотека или приложение будут автоматически вызывать указанную локальную функцию. Аргументы вызова &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;по &lt;/del&gt;переводятся по заданным правилам в объекты системы. Локальная функция, кроме возврата результата, может изменить аргументы, которые возвратятся на вызывающую сторону, если они помечены, как изменяемые аргументы. Функция может быть вызвана как из того же самого системнго потока, так и из любого другого (однако, в последнем случае, если исходный поток занят выполнением программы в момент вызова, будет создано исключение). Обычно такие функции могут пригодиться, если вызов системной библиотеки включает обратный вызов для перечисления результатов или индикации выполнения какого-либо процесса. Функция будет доступна для вызова, пока сам объект не будет удален из системы, поэтому, если адрес передается во внешнюю среду, нужно хранить объект до тех, пока он может использоваться.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Функция создает особую область в памяти, вызывая которую, любая внешняя библиотека или приложение будут автоматически вызывать указанную локальную функцию. Аргументы вызова переводятся по заданным правилам в объекты системы. Локальная функция, кроме возврата результата, может изменить аргументы, которые возвратятся на вызывающую сторону, если они помечены, как изменяемые аргументы. Функция может быть вызвана как из того же самого системнго потока, так и из любого другого (однако, в последнем случае, если исходный поток занят выполнением программы в момент вызова, будет создано исключение). Обычно такие функции могут пригодиться, если вызов системной библиотеки включает обратный вызов для перечисления результатов или индикации выполнения какого-либо процесса. Функция будет доступна для вызова, пока сам объект не будет удален из системы, поэтому, если адрес передается во внешнюю среду, нужно хранить объект до тех, пока он может использоваться.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Синтаксис ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Синтаксис ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=Lib.CreateCallbackFunction&amp;diff=4576&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Lib.CreateCallbackFunction&amp;diff=4576&amp;oldid=prev"/>
		<updated>2023-06-08T10:11: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 10:11, 8 June 2023&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=Lib.CreateCallbackFunction&amp;diff=4575&amp;oldid=prev</id>
		<title>1&gt;Admin at 18:20, 15 May 2023</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Lib.CreateCallbackFunction&amp;diff=4575&amp;oldid=prev"/>
		<updated>2023-05-15T18:20:11Z</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=CreateCallbackFunction&lt;br /&gt;
|object=[[Объект загружаемой системной библиотеки|Библиотека]]&lt;br /&gt;
|caption=Создание функции обратного вызова&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Невозможно превратить в строку, локальная функция не найдена, неверные аргументы, системная ошибка.&lt;br /&gt;
|visual=0}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Объект загружаемой системной библиотеки|Библиотека]]}}&lt;br /&gt;
Функция создает особую область в памяти, вызывая которую, любая внешняя библиотека или приложение будут автоматически вызывать указанную локальную функцию. Аргументы вызова по переводятся по заданным правилам в объекты системы. Локальная функция, кроме возврата результата, может изменить аргументы, которые возвратятся на вызывающую сторону, если они помечены, как изменяемые аргументы. Функция может быть вызвана как из того же самого системнго потока, так и из любого другого (однако, в последнем случае, если исходный поток занят выполнением программы в момент вызова, будет создано исключение). Обычно такие функции могут пригодиться, если вызов системной библиотеки включает обратный вызов для перечисления результатов или индикации выполнения какого-либо процесса. Функция будет доступна для вызова, пока сам объект не будет удален из системы, поэтому, если адрес передается во внешнюю среду, нужно хранить объект до тех, пока он может использоваться.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{{Grey|Lib.}}'''CreateCallbackFunction'''(''&amp;lt;Имя функции (STRING)&amp;gt;''{{Optional|,&amp;lt;Глубина поиска (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Способ вызова (STRING)&amp;gt;{{Default|{{Eq}}&amp;quot;Stdcall&amp;quot;}},&amp;lt;Аргументы функции (STRING)&amp;gt;,&amp;lt;Возвращаемое значение (STRING)&amp;gt;}}):''&amp;lt;Новый объект функции обратного вызова (CBFUNCTION)&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Имя функции (STRING)&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; - {{Optional}} Задает способ поиска локальной функции. Может принимать следующие значения:&lt;br /&gt;
** 0 (по умолчанию) -- выполнять поиск во всех модулях [[Общее описание языка#Вложенность функций и модулей, уровни вложенности|большего уровня вложенности]] (родительских) и во всех глобальных модулях.&lt;br /&gt;
** 1 -- выполнять поиск только внутри текущего модуля.&lt;br /&gt;
** 2 -- выполнять поиск только внутри родительского модуля.&lt;br /&gt;
** 3..x -- выполнять поиск только внутри родительского модуля указанного уровня (к примеру, для уровня 3, выполнять поиск только в родителе родителя текущего модуля).&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Способ вызова (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргумент задает способ вызова функции системной функции снешним источником (см. [[Объект загружаемой системной библиотеки|статью]] для дополнительной информации). Возможны следующие значения аргумента:&lt;br /&gt;
** '''stdcall''' (x86,x64) -- стандартный способ вызова функций Windows, используется по умолчанию. Для x64 является единственным доступным способом вызова.&lt;br /&gt;
** '''cdecl''' (x86) -- используется при вызове из среды, скомпилированной с помощью C или C++.&lt;br /&gt;
** '''fastcall''' (x86) -- используется при вызове из среды, скомпилированной с помощью C или C++, когда вызываемая функция там помечена, как fastcall.&lt;br /&gt;
** '''register''' (x86) -- используется при вызове из функций, скомпилированных с помощью Delphi или Free Pascal. Важно понимать, что, возможно, придется пометить некоторые параметры при вызове таких функций с помощью префикса &amp;quot;+&amp;quot; (см. ниже).&lt;br /&gt;
** '''vectorcall''' (x86,x64) -- способ вызова, оперирующий длинными числами (128 бит), в данный момент не поддерживается.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Аргументы функции (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Задает список и тип аргументов, передаваемых функции. Строка имеет следующий формат: &amp;lt;code&amp;gt;&amp;lt;Аргумент 1&amp;gt;,&amp;lt;Аргумент 2&amp;gt;,...&amp;lt;/code&amp;gt;. Где ''аргумент'' имеет следующий формат: &amp;lt;code&amp;gt;[&amp;lt;Префиксы типа данных&amp;gt;]&amp;lt;Тип данных аргумента&amp;gt;[&amp;lt;Размер типа данных&amp;gt;]&amp;lt;/code&amp;gt;. Далее даются все возможные префиксы и наименования типов данных:&lt;br /&gt;
** '''^''' (префикс) -- определяет то, что аргумент будет являться ссылкой (указателем, ''pointer'') на данные, а не самими данными. &lt;br /&gt;
** '''^^''' (префикс) -- определяет то, что аргумент будет являться ссылкой (указатель, ''pointer'') на ссылку на данные, а не самими данными. Префикс можно эмулировать с помощью манипуляции с буфером данных.&lt;br /&gt;
** '''@''' (префикс) -- определяет то, что аргумент будет являться ссылкой (указателем, ''pointer'') на данные, а не самими данными. Также помечает аргументы &amp;quot;by ref&amp;quot;, т.е., аргументы, значение которых может быть изменено функцией и должно быть передано назад в вызывавшую программу. '''Важно''': без этого префикса, измененные функцией значения не будут переданы назад, даже если аргумент локальной функции имеет префикс ''ByRef''. Префикс может дополняться префиксом ''^'', если необходимо.&lt;br /&gt;
** '''U''' (префикс) -- используется для типов ''I'' или ''N'', указывает на то, что данные представляют собой беззнаковое число (по умолчанию число со знаком)&lt;br /&gt;
** '''+''' (префикс) -- определяет то, что данный аргумент всегда будет передаваться в стек, а не с помощью регистра процессора. Флаг имеет значение только для способа вызова функции ''register''. Для его использования необходимо полностью понимать, как работает вызов функции (calling convention) такого типа. Обычно нет необходимости в использовании этого префикса, система сама правильно определит какие аргументы будут передаваться в стек, а какие с помощью регистров.&lt;br /&gt;
** '''I&amp;lt;Размер в битах&amp;gt;''' или '''Int&amp;lt;Размер в битах&amp;gt;''' (наименование типа данных) -- задает целый тип аргумента. Размер может принимать следующие значения: '''8''', '''16''', '''32''', '''64'''.&lt;br /&gt;
** '''N''' или '''Native''' (наименование типа данных) -- задает целый тип аргумента с размером, задаваемым текущей архитектурой исполнения приложения. Для ''x86'' длина поля будет представлять 32 бита, для ''x64'' -- 64 бита.&lt;br /&gt;
** '''R&amp;lt;Размер в битах&amp;gt;''' или '''Real&amp;lt;Размер в битах&amp;gt;''' (наименование типа данных) -- задает вещественный тип аргумента. Размер может принимать следующие значения: '''32''' (одинарная точность), '''64''' (двойная точность), '''80''' (расширенная точность). Расширенная точность не поддерживается при стандартных вызовах &amp;quot;x64&amp;quot; функций, при написании расширения программы, можно пользоваться, к примеру, ссылкой на вещественное число ('''P''') и получение его из буфера.&lt;br /&gt;
** '''B&amp;lt;Размер в битах&amp;gt;''' или '''Bool&amp;lt;Размер в битах&amp;gt;''' (наименование типа данных) -- задает булевый тип аргумента. Размер может принимать следующие значения: '''8''', '''16''', '''32''', '''64'''.&lt;br /&gt;
** '''P''' или '''Pointer''' (наименование типа данных) -- задает тип данных указателя на данные. Для ''x86'' длина поля будет поставлять 32 бита, для ''x64'' -- 64 бита. При вызове функцией в аргументах такого типа удобно возвращать объекты буфера или записи.&lt;br /&gt;
** '''SZ&amp;lt;Размер в байтах&amp;gt;''' или '''SZW&amp;lt;Размер в словах&amp;gt;''' (наименование типа данных) -- задает аргумент с типом строка, заканчивающаяся нулевым символом. Строка может иметь формат ANSI (''SZ'') или UTF-16 (''SZW''). Строки всегда должны быть объявлены с префиксом ''^'' (ссылка на данные). Размер может принимать нулевое значение, если заранее неизвестно, строка какого размера будет использоваться. В случае нулевого размера, однако, при подготовке аргумента, размер будет выделен точно под строку. Кроме строковых значений, система принимает также буферы или записи (для которых вызов выполняется несколько быстрее, чем для строк).&lt;br /&gt;
** '''S&amp;lt;Размер в байтах&amp;gt;''' или '''SW&amp;lt;Размер в словах&amp;gt;''' (наименование типа данных) -- задает аргумент с типом строка фиксированной длины. Строка может иметь формат ANSI (''S'') или UTF-16 (''SW''). Строки всегда должны быть объявлены с префиксом ''^'' (ссылка на данные). Размер может принимать нулевое значение, если заранее неизвестно, строка какого размера будет использоваться. В случае нулевого размера, однако, при подготовке аргумента, размер будет выделен точно под строку. Кроме строковых значений, система принимает также буферы (для которых вызов выполняется несколько быстрее, чем для строк).&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Возвращаемое значение (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Имеет формат одного аргумента функции (см. выше), если аргумент опущен, возвращаемое функцией значение будет игнорировано (функция не возвращает значения).&lt;br /&gt;
&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
Возвращается новый объект функции обратного вызова.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Пример производит вывод на экран заголовков и наименований классов всех видимых верхних окон системы.&lt;br /&gt;
Var aUser32 Export;&lt;br /&gt;
&lt;br /&gt;
  Function EnumWindowsProc(hwnd,LParam)&lt;br /&gt;
    If aUser32.IsWindowVisible(hwnd) Then&lt;br /&gt;
      СтрИмя:=&amp;quot;&amp;quot;;&lt;br /&gt;
      aUser32.GetWindowText(hwnd,СтрИмя,4095);&lt;br /&gt;
      СтрКласс:=&amp;quot;&amp;quot;;&lt;br /&gt;
      aUser32.GetClassName(hwnd,СтрКласс,4095);&lt;br /&gt;
      Message(&amp;quot;&amp;quot;+hwnd+&amp;quot;:&amp;quot;+СтрКласс+?(СтрИмя&amp;lt;&amp;gt;&amp;quot;&amp;quot;,&amp;quot;(&amp;quot;+СтрИмя+&amp;quot;)&amp;quot;));&lt;br /&gt;
    EndIf;&lt;br /&gt;
    Result:=1;&lt;br /&gt;
  EndFunction&lt;br /&gt;
&lt;br /&gt;
//Загрузка нужных системных функций&lt;br /&gt;
aUser32:=Lib.Load(&amp;quot;user32.dll&amp;quot;);&lt;br /&gt;
aUser32.RegisterFunction(&amp;quot;EnumWindows&amp;quot;,&amp;quot;stdcall&amp;quot;,&amp;quot;P,N&amp;quot;,&amp;quot;B32&amp;quot;);&lt;br /&gt;
aUser32.RegisterFunction(&amp;quot;GetWindowTextW:GetWindowText&amp;quot;,&amp;quot;stdcall&amp;quot;,&amp;quot;N,@SZW4096,I32&amp;quot;,&amp;quot;I32&amp;quot;);&lt;br /&gt;
aUser32.RegisterFunction(&amp;quot;GetClassNameW:GetClassName&amp;quot;,&amp;quot;stdcall&amp;quot;,&amp;quot;N,@SZW4096,I32&amp;quot;,&amp;quot;I32&amp;quot;);&lt;br /&gt;
aUser32.RegisterFunction(&amp;quot;IsWindowVisible&amp;quot;,&amp;quot;stdcall&amp;quot;,&amp;quot;N&amp;quot;,&amp;quot;B32&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//Создание функции объекта для вызова EnumWindowsProc из системной области памяти&lt;br /&gt;
aEnumWindowsProc:=Lib.CreateCallbackFunction(&amp;quot;EnumWindowsProc&amp;quot;,,&amp;quot;stdcall&amp;quot;,&amp;quot;I32,N&amp;quot;,&amp;quot;B32&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//Вызов системной функции EnumWindowsProc, которая, в свою очередь, будет вызывать созданную ранее EnumWindowsProc для каждого найденного окна&lt;br /&gt;
aUser32.EnumWindows(aEnumWindowsProc,0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
</feed>