<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Visual Basic 6.0</title><link>https://www.dotnetzone.gr:443/cs/forums/25/ShowForum.aspx</link><description>Θέματα που αφορούν την VB6 και COM components</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Recv  Function σε NoBlockingMode και Κρασαρισμα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66620.aspx</link><pubDate>Thu, 21 Jul 2011 03:06:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66620</guid><dc:creator>ntaryl</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66620.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=66620</wfw:commentRss><description>&lt;p&gt;καλησπερα &amp;nbsp;Φιλε μου &amp;nbsp;&lt;/p&gt;&lt;p&gt;Τροποποιησα λιγακι το workthread και δουλεθει Αψογα το καθε thread &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color:#f2f2f2;border:solid 1px #e5e5e5;"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;border-right:solid 1px #e7e7e7;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px;padding-left:8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Function&lt;/span&gt; Workthread(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ByVal&lt;/span&gt; Param &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Long&lt;/span&gt;) &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Long&lt;/span&gt;
ThreadInit.InitThread
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; DBuff &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;String&lt;/span&gt;
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; ReadBuff &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;String&lt;/span&gt;
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; sRec &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Long&lt;/span&gt;
tID &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; GetCurrentThreadId
Add_DataClientStore ClientCount, nRet, tID
WriteLog &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"New Client Arrive with  Socket ID "&lt;/span&gt; &amp;amp; nRet &amp;amp; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;" On Thread   ID:"&lt;/span&gt; &amp;amp; tID
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Do&lt;/span&gt;  &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;''While True&lt;/span&gt;
DBuff &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Space&lt;/span&gt;(4096)
ClientStore(ClientCount).Sock_ID &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; nRet
sRec &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; recv(ClientStore(ClientCount).Sock_ID, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ByVal&lt;/span&gt; DBuff, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Len&lt;/span&gt;(DBuff), 0)
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;If&lt;/span&gt; sRec &amp;lt;&amp;gt; 0 &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;And&lt;/span&gt; sRec &amp;lt;&amp;gt; SOCKET_ERROR &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Then&lt;/span&gt;
ReadBuff &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; ReadBuff &amp;amp; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Left&lt;/span&gt;(DBuff, sRec)
WriteLog &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Data Received.:"&lt;/span&gt; &amp;amp; ReadBuff &amp;amp; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;" Socket ID..."&lt;/span&gt; &amp;amp; ClientStore(ClientCount).Sock_ID
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;If&lt;/span&gt;
DoEvents
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Loop&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Until&lt;/span&gt; sRec &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 0
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;Καλο βραδυ &amp;nbsp;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Recv  Function σε NoBlockingMode και Κρασαρισμα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66607.aspx</link><pubDate>Wed, 20 Jul 2011 05:15:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66607</guid><dc:creator>ntaryl</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66607.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=66607</wfw:commentRss><description>&lt;p&gt;Καλησπερα &amp;nbsp;παλι &amp;nbsp;&lt;/p&gt;&lt;p&gt;στην &amp;nbsp;γραμμη &amp;nbsp;(ReadBuff = StrConv(Buffa, vbUnicode))&lt;/p&gt;&lt;p&gt;η Readbuff ειναι αδεια οπως το ειπες .Γμτ &amp;nbsp;&lt;/p&gt;&lt;p&gt;παρολο που εχει Len 8192&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Τι θα πρεπει να κανω για να λυθει το error &amp;nbsp;&lt;/p&gt;&lt;p&gt;Ευχαριστω πολυ &amp;nbsp;&lt;/p&gt;&lt;p&gt;P.s Παραπανω &amp;nbsp;αναφερεις την &lt;u&gt;SysAllocString .&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&amp;nbsp;Δεν μπορουμε να την χρησιμοποιησουμε στην VB ?&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;br&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;br&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;</description></item><item><title>Απ: Recv  Function σε NoBlockingMode και Κρασαρισμα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66606.aspx</link><pubDate>Wed, 20 Jul 2011 04:59:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66606</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66606.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=66606</wfw:commentRss><description>&lt;p&gt;Για βάλε λοιπόν ένα watch στο ReadBuff και θα δεις ότι δεν έχει το μέγεθος που περιμένεις&lt;/p&gt;</description></item><item><title>Απ: Recv  Function σε NoBlockingMode και Κρασαρισμα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66605.aspx</link><pubDate>Wed, 20 Jul 2011 04:50:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66605</guid><dc:creator>ntaryl</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66605.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=66605</wfw:commentRss><description>&amp;nbsp;Καλησπερα Φιλε Παναγιωτη &amp;nbsp;&amp;nbsp;&lt;p&gt;Οντως με εχει πιασει μια εμμονη με την Visual basic .&lt;/p&gt;&lt;p&gt;Σκαει στην γραμμη &amp;nbsp;που ανεφερα παραπανω και οχι στην &amp;nbsp;StrConv &amp;nbsp;.Εκανα &amp;nbsp;Debugging &amp;nbsp;και την περασε αυτη την γραμμη.&lt;/p&gt;&lt;p&gt;Δεν εχω χρησιμοποιησει (On Error Resume Next)&lt;/p&gt;&lt;p&gt;το μηνυμα που μου &amp;nbsp;βγαζει επισυναπτεται παρακατω &amp;nbsp;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Σε ευχαριστω πολυ για το υλικο &amp;nbsp;που ανεφερες &amp;nbsp;..&lt;/p&gt;&lt;p&gt;καλη συνεχεια &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;</description></item><item><title>Απ: Recv  Function σε NoBlockingMode και Κρασαρισμα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66604.aspx</link><pubDate>Wed, 20 Jul 2011 03:41:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66604</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66604.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=66604</wfw:commentRss><description>&lt;p&gt;Καταρχήν δεν εξηγείς τί θα πει "κρασάρει". Τί μήνυμα σου βγάζει? Γιατί πάω στοίχημα ότι σου λέει ότι το μήκος που έδωσες είναι πολύ μεγάλο.&lt;/p&gt;&lt;p&gt;Όπως έχουμε ξαναπεί κάθε φορά που κάνεις μία παρόμοια ερώτηση, το πρόβλημα δεν είναι ότι είσαι πρωτάρης σε threads ή το multithreading. Είναι ότι επιμένεις να χρησιμοποιείς ένα C API (το Win32 API) μέσα σε μία γλώσσα η οποία δεν φτιάχτηκε ποτέ ούτε για multithreading ούτε για να καλεί C functions απευθείας. Όταν καλείς το Win32 API πρέπει να προσέχεις για παράδειγμα το πως περνάς και διαβάζεις strings. &lt;/p&gt;&lt;p&gt;Ο τύπος string της VB δεν έχει σχέση με το string της C. Τα string της VB είναι ΠΑΝΤΑ unicode και αρχίζουν με το μήκος του string. Τα string της C είναι απλά ένας pointer σε ένα πίνακα από char που καταλήγει σε null.&amp;nbsp;Η StrConv ΔΕΝ μετατρέπει τη μία μορφή σε άλλη, μετατρέπει ένα VB String σε ένα άλλο VB String . Πάω στοίχημα μάλιστα ότι η StrConv πρέπει να σου επιστρέφει κενό, αν και θα περίμενα εκεί να σκάσει και όχι στη Left. Μήπως έχεις βάλει κανένα On Error Resume Next?&lt;/p&gt;&lt;p&gt;Αν δούλευες με C++ ή έστω με C θα μπορούσες να κάνεις εύκολα τη μετατροπή με ένα cast ή καλώντας την SysAllocString. Στην VB6 θα πρέπει να κάνεις μερικές "τούμπες":&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Να φτιάξεις ένα VB string αρκετά μεγάλο για να χωρέσει ολόκληρο το string, γεμάτο με 0&lt;/li&gt;&lt;li&gt;Να αντιγράψεις τα περιεχόμενα του C string στο νέο buffer&lt;/li&gt;&lt;li&gt;Να "κόψεις" το buffer στο πρώτο null που θα συναντήσεις&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Η διαδικασία περιγράφεται στο βιβλίο &lt;a href="http://oreilly.com/catalog/win32api/chapter/ch06.html"&gt;Win32 API Programming with Visual Basic 6, Κεφ. 6&lt;/a&gt;&amp;nbsp;το οποίο ευτυχώς ο O'Reilly έχει online. Ψάξε για την παράγραφο "From LPSTR to BSTR". Η παράγραφος αυτή χρησιμοποιεί το Win32 API function CopyMemory για να αντιγράψει τα περιεχόμενα του LPSTR και ένα function που περιγράφεται αλλού στη σελίδα, το Trim0, για να κόψει το buffer στο πρώτο Null.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Γιατί επιμένεις πάντως να χρησιμοποιείς τη VB6 σε ένα σενάριο που είναι εντελώς ακατάλληλη να χειριστεί? Αν έγραφες έστω και σε C θα ήταν πολύ ευκολότερα τα πράγματα.&lt;/p&gt;</description></item><item><title>Recv  Function σε NoBlockingMode και Κρασαρισμα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66603.aspx</link><pubDate>Wed, 20 Jul 2011 03:00:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66603</guid><dc:creator>ntaryl</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66603.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=25&amp;PostID=66603</wfw:commentRss><description>&lt;p&gt;Καλησπερα &amp;nbsp;&lt;/p&gt;&lt;p&gt;Προσπαθω να τελειωσω το Multithread παραδειγμα που εχω αρχισει &amp;nbsp;.&lt;/p&gt;&lt;p&gt;Οταν &amp;nbsp;αφηνω τα Sockets σε Blocking Mode τοτε &amp;nbsp;με επιτυχια περναω το Accept Handle σε ενα νεο thread(Workthread)&lt;/p&gt;&lt;p&gt;Και στελνω με επιτυχια δεδομενα.&lt;/p&gt;&lt;p&gt;Μολις αλλαξω σε NoblockingMode&lt;/p&gt;&lt;p&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim NonBlock As Long 
 NonBlock &lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 1 
 If ioctlsocket (nRet, FIONBIO, NonBlock) &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; SOCKET_ERROR Then 
 WriteLog &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Socket Cannot Set NoBlocking"&lt;/span&gt; 
 End If&lt;br&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Ο Client συνδεεται κανονικα ανοιγει το νεο Thread και με το που περναει στην Recv Κρασσαρει εδω  &lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;strong&gt;ReadBuff = Left$(ReadBuff, sRec)&lt;br&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Ο παρακατω κωδικας που επισυναπτω ειναι η υλοποιηση του workthread &lt;table border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color:#f2f2f2;border:solid 1px #e5e5e5;"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;border-right:solid 1px #e7e7e7;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px;padding-left:8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Function&lt;/span&gt; Workthread (&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ByVal&lt;/span&gt; Param &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Long&lt;/span&gt;) &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Long&lt;/span&gt; 
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Const&lt;/span&gt; MAX_BUFFER_LENGTH &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Long&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 8192 &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'Normal = 8192' MAX = 65536 &lt;/span&gt;
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; Buffa (1 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;To&lt;/span&gt; MAX_BUFFER_LENGTH) &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Byte&lt;/span&gt; 
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; dBuff &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;String&lt;/span&gt; 
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; ReadBuff &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;String&lt;/span&gt; 
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; sRec &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Long&lt;/span&gt; 
 tID &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; GetCurrentThreadId 
 Add_DataClientStore ClientCount, nRet, tID&lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;''/ / Store Data in a public type (sockid, threadid) &lt;/span&gt;
 WriteLog &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"New Client Arrive with Socket ID"&lt;/span&gt; &amp;amp; nRet &amp;amp; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"On Thread ID:"&lt;/span&gt; &amp;amp; tID&lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;''/ / write data to listbox &lt;/span&gt;
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Do&lt;/span&gt;&lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;''While True &lt;/span&gt;

 ClientStore (ClientCount). Sock_ID &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; nRet 
 sRec &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; recv (ClientStore (ClientCount). Sock_ID, Buffa (1), MAX_BUFFER_LENGTH, 0 &amp;amp;) 
 ReadBuff &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;StrConv&lt;/span&gt; (Buffa, vbUnicode) 
 dBuff &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Left&lt;/span&gt; $ (ReadBuff, sRec) 
 WriteLog &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Data Received.:"&lt;/span&gt; &amp;amp; DBuff &amp;amp; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Socket ID ..."&lt;/span&gt; &amp;amp; ClientStore (ClientCount). Sock_ID 
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;If&lt;/span&gt; 
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Loop&lt;/span&gt; 
 &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;Αν μπορει καποιος να μου πει γιατι κρασαρει εδω ?&lt;br&gt;&lt;br&gt;καλο Βραδυ   &lt;br&gt;&lt;br&gt;Υ.γ : Οποιαδηποτε συμβουλη δεκτη .Ειμαι  πρωταρης σε threads  &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;</description></item></channel></rss>