<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Отслеживание события установки значения массива]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=11227</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11227&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Отслеживание события установки значения массива».]]></description>
		<lastBuildDate>Sun, 17 Jan 2016 13:29:04 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Отслеживание события установки значения массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100417#p100417</link>
			<description><![CDATA[<p>А почему нельзя просто получить содержимое массива просто вызвав например в msgbox:<br /></p><div class="codebox"><pre><code>msgbox % object.A</code></pre></div><p>А только через __Get.<br />Я вот такую паутину намотал, вроде работает. Есть более простой вариант?<br /></p><div class="codebox"><pre><code>object := {_:{}}
object.base := {}
object.base.__Set := Func(&quot;Set_Event_Object&quot;)
object.base.__Get := Func(&quot;Get_Event_Object&quot;)

Set_Event_Object(_,var,value){
	msgbox % &quot;Событие __Set`n&quot; var &quot;`n&quot; value
	return _._.Insert(var,value)
}

Get_Event_Object(_,var){
 return _._[var]
}
;-------------------------------------------

object.A := 1
object.A := 2
object.B := 3

msgbox % object.A &quot;`n&quot; object.B
Return
</code></pre></div><p>Нашел все таки без __get сделать:<br /></p><div class="codebox"><pre><code>object := {}
object.base := {}
object.base.__Set := Func(&quot;Set_Event_Object&quot;)

Set_Event_Object(_,var,value){
	msgbox % &quot;Событие __Set`n&quot; var &quot;`n&quot; value
    return _.base.Insert(var, value)
}

;-------------------------------------------

object.A := 1
object.A := 2
object.B := 3


msgbox % object.A &quot;`n&quot; object.B
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Sun, 17 Jan 2016 13:29:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100417#p100417</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отслеживание события установки значения массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100383#p100383</link>
			<description><![CDATA[<p>Функция должна вернуть правду.<br /></p><div class="codebox"><pre><code>object := {}
object.base := {}
object.base.__Set := Func(&quot;Set_Event_Object&quot;)

Set_Event_Object(_,var,value){ 
	msgbox % var &quot;`n&quot; value 
	Return 1
}
;-------------------------------------------

object.A := 1
object.B := 1

object.A := 2

test.C := 3
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 16 Jan 2016 15:15:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100383#p100383</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Отслеживание события установки значения массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100377#p100377</link>
			<description><![CDATA[<p>Есть такая функция:<br />Эта функция отслеживает установку новой переменной внутри <strong>object</strong>, но проблема в том что, когда пытаюсь переназначить уже существующую переменную, события не происходит.<br /></p><div class="codebox"><pre><code>  object := {}
, object.base := {}
, object.base.__Set := Func(&quot;Set_Event_Object&quot;)

Set_Event_Object(_,var,value){
	msgbox % var &quot;`n&quot; value
}
;-------------------------------------------

object.A := 1
object.B := 1

object.A := 2

test.C := 3</code></pre></div><br /><br /><p>А вот еще один скрипт:<br />Суть его тоже самая, этот вариант видит событие изменения, но видит во всех массивах, а нужно что бы только в object.<br /></p><div class="codebox"><pre><code>  &quot;&quot; := {}
, object.base := {}
, object.base.__Set := Func(&quot;Set_Event_Object&quot;)

Set_Event_Object(_,var,value){
	msgbox % var &quot;`n&quot; value
}
;-------------------------------------------

object.A := 1
object.B := 1

object.A := 2

test.C := 3</code></pre></div><p>Можно ли доделать один из вариантов что бы работа была только с одним массивом и видело изменения?</p><p>p.s первый и второй вариант отличаются только первой строкой.</p>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Sat, 16 Jan 2016 10:21:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100377#p100377</guid>
		</item>
	</channel>
</rss>
