<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AutoHotkey: стандартные и пользовательские библиотеки функций]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=2515</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2515&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AutoHotkey: стандартные и пользовательские библиотеки функций».]]></description>
		<lastBuildDate>Sat, 29 Nov 2008 17:04:01 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[AutoHotkey: стандартные и пользовательские библиотеки функций]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=16406#p16406</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Sat, 29 Nov 2008 17:04:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=16406#p16406</guid>
		</item>
	</channel>
</rss>
