<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3531048</guid>
        <pubDate>Wed, 01 Oct 2014 13:50:48 +0000</pubDate>
        <title>Передача TStringList через сокет</title>
        <link>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3531048</link>
        <description><![CDATA[MBo: Если речь идёт о об отсутствии оператора разыменования ^, то его ставить необязательно в тех случаях, когда не возникает неоднозначности]]></description>
        <author>MBo</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3531018</guid>
        <pubDate>Wed, 01 Oct 2014 12:28:21 +0000</pubDate>
        <title>Передача TStringList через сокет</title>
        <link>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3531018</link>
        <description><![CDATA[konvikkor: мне одному кажется что вот тут не хватает кое чего...<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ListBox1.Items.Add(Msg.FileList.Strings[i]); = ListBox1.Items.Add(Msg^.FileList.Strings[i]);</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>konvikkor</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3530842</guid>
        <pubDate>Tue, 30 Sep 2014 17:48:25 +0000</pubDate>
        <title>Передача TStringList через сокет</title>
        <link>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3530842</link>
        <description><![CDATA[MBo: Нужно угадать, какой у тебя теперь код?]]></description>
        <author>MBo</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3530710</guid>
        <pubDate>Tue, 30 Sep 2014 10:09:09 +0000</pubDate>
        <title>Передача TStringList через сокет</title>
        <link>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3530710</link>
        <description><![CDATA[hawk1: Все равно та же ошибка.]]></description>
        <author>hawk1</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3530296</guid>
        <pubDate>Mon, 29 Sep 2014 10:21:12 +0000</pubDate>
        <title>Передача TStringList через сокет</title>
        <link>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3530296</link>
        <description><![CDATA[Relaxander: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=394957&view=findpost&p=3530295'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>hawk1 &#064; <time class="tag-quote__quoted-time" datetime="2014-09-29T10:17:47+00:00">29.09.14, 10:17</time></span><div class='quote '>В чем проблема?</div></div><br>
в том, что фактически передаешь указатель на стринглист, а не сам текст.<br>
Либо разверни его в структуре в array[0..N] of char, либо передавай отдельно, после заголовка структуры: Socket.SendBuf(PChar(FileList.Text),Length(FileList.Text));]]></description>
        <author>Relaxander</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3530295</guid>
        <pubDate>Mon, 29 Sep 2014 10:17:47 +0000</pubDate>
        <title>Передача TStringList через сокет</title>
        <link>https://forum.sources.ru/index.php?showtopic=394957&amp;view=findpost&amp;p=3530295</link>
        <description><![CDATA[hawk1: По сети передается структура следующего вида<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp;TServerSendFileListMsg = record</div><div class="code_line">&nbsp;&nbsp; &nbsp;MsgNumber: integer;</div><div class="code_line">&nbsp;&nbsp; &nbsp;FileList: TStringList;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;PServerSendFileListMsg = ^TServerSendFileListMsg;</div></ol></div></div></div></div><br>
Процедура отправки<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure TForm1.ConnectUser(Socket: TCustomWinSocket; Size: Integer);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; &nbsp;Msg: TServerSendFileListMsg;</div><div class="code_line">&nbsp;&nbsp; &nbsp;i: integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; Msg.MsgNumber := MSG_SERVERSENDFILELIST;</div><div class="code_line">&nbsp;&nbsp; MSG.FileList := TStringList.Create;</div><div class="code_line">&nbsp;&nbsp; Msg.FileList.Clear;</div><div class="code_line">&nbsp;&nbsp; for i := 0 to Files.Count - 1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp; Msg.FileList.Add(Files.Strings[i]);</div><div class="code_line">&nbsp;&nbsp; Socket.SendBuf(Msg,SizeOf(TServerSendFileListMsg));</div><div class="code_line">end;</div></ol></div></div></div></div><br>
Процедура приема и обработки<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; &nbsp;Msg: Pointer;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Size: integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Size := Socket.ReceiveLength;</div><div class="code_line">&nbsp;&nbsp;GetMem(Msg,Size);</div><div class="code_line">&nbsp;&nbsp;Socket.ReceiveBuf(Msg^,Size);</div><div class="code_line">&nbsp;&nbsp;HandleMessage(Msg);</div><div class="code_line">&nbsp;&nbsp;FreeMem(Msg);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.HandleMessage(Msg: Pointer);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;case integer(Msg^) of</div><div class="code_line">&nbsp;&nbsp; &nbsp;MSG_SERVERSENDFILELIST: ServerSendFileList(Msg);</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.ServerSendFileList(Msg: PServerSendFileListMsg);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; i: integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;ListBox1.Items.Clear;</div><div class="code_line">&nbsp;&nbsp;for i := 0 to Msg^.FileList.Count - 1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp;ListBox1.Items.Add(Msg.FileList.Strings[i]);</div><div class="code_line">end;</div></ol></div></div></div></div><br>
При обращении к Msg.FileList вылетает access violation. В чем проблема?]]></description>
        <author>hawk1</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	