<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Получение сообщения об ошибке приводит к ошибке.]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Получение сообщения об ошибке приводит к ошибке. форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 17 Apr 2026 01:21:04 +0300</pubDate>
		<item>
			<title>Получение сообщения об ошибке приводит к ошибке.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message31010/topic3656/">Получение сообщения об ошибке приводит к ошибке.</a></b> <i>Trans2quik </i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Спасибо, Сергей. Действительно, ваша рекомендация помогла мне решить проблему, но не полностью. У меня были ещё недочёты в коде, помимо ByRef/ByVal.<br /><br />Данные переменные:<br /><br />Dim ErrMsg As String = vbNullString<br />Dim ErrMsgSz As UInteger<br /><br />должны иметь другие значения, а именно:<br /><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Dim ErrMsgSz As UInteger = 255<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Dim ErrMsg As New String(" ", ErrMsgSz)<br /><br />Так как в VB.NET нет типа "строка фиксированной длины".<br /><br />А вот по поводу ByVal я сильно удивлён и до сих пор не понимаю как это работает. Ведь, судя по MSDN: ByVal — "Указывает, что аргумент передается таким образом, что вызванная процедура или свойство не может изменить значение переменной, представляющей аргумент в вызывающем коде."<br /><br />Всего хорошего! <br />
			<i>14.05.2018 19:29:23, Melchin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message31010/topic3656/</link>
			<guid>http://forum.quik.ru/messages/forum12/message31010/topic3656/</guid>
			<pubDate>Mon, 14 May 2018 19:29:23 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Получение сообщения об ошибке приводит к ошибке.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message30996/topic3656/">Получение сообщения об ошибке приводит к ошибке.</a></b> <i>Trans2quik </i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			<a class="blog-p-user-name" id="bp_eIPmdYs1" href="/user/11991/" bx-tooltip-user-id="11991">Melchin</a>, <br /><br />Делаем ByVal lpstrErrorMessage и всё работает:<br />[FILE ID=5012]<br /><br />Делаем ByRef lpstrErrorMessage и получаем Exeption<br />[FILE ID=5013] <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=5012&" width="369" height="201" /><br /><img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=5013&" width="351" height="237" /><br /><i>14.05.2018 12:02:45, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message30996/topic3656/</link>
			<guid>http://forum.quik.ru/messages/forum12/message30996/topic3656/</guid>
			<pubDate>Mon, 14 May 2018 12:02:45 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Получение сообщения об ошибке приводит к ошибке.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message30994/topic3656/">Получение сообщения об ошибке приводит к ошибке.</a></b> <i>Trans2quik </i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Нет, Сергей. Для переменной lpstrErrorMessage в руководстве пользователя указано: &quot;Тип: указатель на переменную типа Строка&quot;, так что тут точно передача по ссылке, иначе как библиотека запишет туда сообщение?<br /><br />С dwErrorMessageSize — согласен. Но ситуацию это не меняет, сообщения мне не приходят. <br />
			<i>14.05.2018 11:36:16, Melchin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message30994/topic3656/</link>
			<guid>http://forum.quik.ru/messages/forum12/message30994/topic3656/</guid>
			<pubDate>Mon, 14 May 2018 11:36:16 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Получение сообщения об ошибке приводит к ошибке.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message30993/topic3656/">Получение сообщения об ошибке приводит к ошибке.</a></b> <i>Trans2quik </i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			<a class="blog-p-user-name" id="bp_6VqkNv6x" href="/user/11991/" bx-tooltip-user-id="11991">Melchin</a>, <br />Для lpstrErrorMessage и dwErrorMessageSize надо использовать ByVal вместо ByRef.<br />Скорей всего причина в этом <br />
			<i>14.05.2018 05:36:49, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message30993/topic3656/</link>
			<guid>http://forum.quik.ru/messages/forum12/message30993/topic3656/</guid>
			<pubDate>Mon, 14 May 2018 05:36:49 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Получение сообщения об ошибке приводит к ошибке.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message30981/topic3656/">Получение сообщения об ошибке приводит к ошибке.</a></b> <i>Trans2quik </i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Здравствуйте, не могу разобраться с получением сообщения об ошибке lpstrErrorMessage из любой функции.<br />К примеру такой код:<br /><br />Private Declare Function Connect Lib &quot;TRANS2QUIK.DLL&quot; Alias &quot;TRANS2QUIK_CONNECT&quot; _<br />(QUIK_DirPath As String, ByRef ExtendedErrorCode As Integer, ByRef lpstrErrorMessage As String,<br />ByRef ErrorMessageSize As UInteger) As Responses<br /><br />Public Sub Connect1()<br /> &nbsp; &nbsp;Dim ErrCode As Integer<br /> &nbsp; &nbsp;Dim ErrMsg As String = vbNullString<br /> &nbsp; &nbsp;Dim ErrMsgSz As UInteger<br /> &nbsp; &nbsp;Dim Result As Responses = Connect(QUIK_Path, ErrCode, ErrMsg, ErrMsgSz)<br />End Sub<br /><br />Возвращает корректные ответы если не записывает данные в lpstrErrorMessage, но выдаёт исключение &quot;System.AccessViolationException&quot; если библиотека пытается передать lpstrErrorMessage.<br /><br /><br />Как правильно получать эти сообщения? Заранее спасибо.<br /><br /><br />Trans2quik 1.3<br />QUIK 7.12.1.10<br />Visual Basic .NET<br />Windows 10 x64 <br />
			<i>12.05.2018 22:46:54, Melchin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message30981/topic3656/</link>
			<guid>http://forum.quik.ru/messages/forum12/message30981/topic3656/</guid>
			<pubDate>Sat, 12 May 2018 22:46:54 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
	</channel>
</rss>
