<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: нужна помощь с синтаксисом ActiveX]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15136&amp;type=atom" />
	<updated>2020-01-18T07:01:22Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=15136</id>
		<entry>
			<title type="html"><![CDATA[AHK: нужна помощь с синтаксисом ActiveX]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=137337#p137337" />
			<content type="html"><![CDATA[<p>Доброго времени суток всем.</p><p>Нужна помощь с синтаксисом ActiveX. Сам я с ActiveX я раньше не сталкивался, а в связке с АНК - тем более. </p><p>Существует некий MBAXP Modbus Master ActiveX Control (<a href="https://www.modbustools.com/modbus_activex.html">https://www.modbustools.com/modbus_activex.html</a>), предназначенный для коммуникации с Modbus устройствами в одноименной сети. После установки он помещает mbaxp.oxc в c:\windows\system32\ или c:\windows\SysWOW64\, CLSID: {B39F2751-9393-4463-8058-29ECC28F08C1}. Надо прикрутить к AHK. Увы, Help AHK в этом вопросе мне мало чем помог.</p><p>Описание подключения из Help MBAXP, код:</p><div class="codebox"><pre><code>

Description: Specify the connection to use COM1 through COM255. Or TCP/IP 
0 = TCP/IP
1 = Serial port 1
2 = Serial port 2
...
255 = Serial port 255

Use GetLastError to check if the action succeeds. 

Syntax Visual Basic: 		Connection As Integer

			Visual C++:		SetConnection (short Value);
									Short GetConnection ();

Examples:	Use Use TCP/IP

MBAXP1.Connection = 0
MBAXP1.IPAddr1 = 235
MBAXP1.IPAddr2 = 12
MBAXP1.IPAddr3 = 134
MBAXP1.IPAddr4 = 6
MBAXP1.Timeout = 1000
MBAXP1.OpenConnection()
If MBAXP1.GetLastError &lt;&gt; 0 Then
   MsgBox “Open connection error”
End If

</code></pre></div><p>Просьба помочь с переводом на АНК.</p><p>Сам пробовал:</p><div class="codebox"><pre><code>
MBAXP1 := ComObjCreate(&quot;{B39F2751-9393-4463-8058-29ECC28F08C1}&quot;)
ComObjConnect(MBAXP1, &quot;MBAXP1_&quot;)

	MBAXP1.Connection := 0
	MBAXP1.IPAddr1 := 192
	MBAXP1.IPAddr2 := 168
	MBAXP1.IPAddr3 := 1
	MBAXP1.IPAddr4 := 20
	MBAXP1.Timeout := 1000
...
</code></pre></div><p>При попытке присвоения любого параметра, начиная с Connection выдает Fatal Error.</p>]]></content>
			<author>
				<name><![CDATA[equipment66]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27128</uri>
			</author>
			<updated>2020-01-18T07:01:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=137337#p137337</id>
		</entry>
</feed>
