<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AutoHotkey: стандартные и пользовательские библиотеки функций]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2515&amp;type=atom" />
	<updated>2008-11-29T17:04:01Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=2515</id>
		<entry>
			<title type="html"><![CDATA[AutoHotkey: стандартные и пользовательские библиотеки функций]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=16406#p16406" />
			<content type="html"><![CDATA[<p>v1.0.47+<br />Скрипт может вызвать функцию из внешнего файла без необходимости использования #Include.</p><p>Необходим файл с названием, совпадающим с названием функции, поскольку функция должна существовать в одном из следующих каталогов:</p><div class="codebox"><pre><code>%A_MyDocuments%\AutoHotkey\Lib\ ; библиотека пользователя
путь_к_запущенному_в_данный_момент_AutoHotkey.exe\Lib\ ; стандартная библиотека</code></pre></div><p>Например, когда скрипт вызывает несуществующую функцию MyFunc(), программа ищет файл по имени MyFunc.ahk в пользовательской библиотеке. Если его там нет, она ищет его в стандартной библиотеке. Если соответствие всё еще не найдено, а название функции содержит символ подчёркивания (например, MyPrefix_MyFunc), программа ищет в библиотеках файл по имени MyPrefix.ahk и загружает это, если он существует. Это позволяет MyPrefix.ahk содержать и функцию MyPrefix_MyFunc, и другие функции, названия которых начинаются с MyPrefix_.</p><p>Хотя библиотечный файл вообще содержит только одну функцию того же самого названия как само имя файла, он может также содержать частные функции и подпрограммы, которые вызываются только здесь. Однако, у таких функций должны быть чётко отличные названия, потому что они всё ещё будут в глобальном пространстве имен; то есть, они будут вызываемыми отовсюду в скриптах.</p><p>Если библиотечная функция использует #Include, рабочий каталог для #Include является каталогом самой библиотечной функции. Это может использоваться, чтобы создать переадресовывание к большему библиотечному файлу, который содержит эту функцию и другие, связанные с ней.</p><p>Компилятор скриптов (ahk2exe) также поддерживает библиотечные функции. Однако, это требует, чтобы в каталоге выше каталога компилятора существовала копия AutoHotkey.exe (что обычно и имеет место). Если AutoHotkey.exe отсутствует, компилятор будет работать, но библиотечные функции не будут включены автоматически.</p><p>Функции, включённые из библиотеки, работают точно так же, как и другие функции, потому что они предварительно загружены перед тем, как скрипт начинает выполняться.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2008-11-29T17:04:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=16406#p16406</id>
		</entry>
</feed>
