ورود

View Full Version : چطوری یه کار کنم دیگه وینساک ارور نده؟



igneousstars
جمعه 13 اردیبهشت 1392, 11:19 صبح
سلام.
میخوام یه کاری کنم وینساک این ارور رو نده و اگه این ارور میخواست بیاد وینساک Close و Connect بشه و دیگه اررور مشاهده نشه
wrong protocol or connection state for the requested transaction or request

خیلی ممنون میشم

SlowCode
جمعه 13 اردیبهشت 1392, 12:16 عصر
On error goto E
'your code
Exit sub
E:
'close code

igneousstars
شنبه 14 اردیبهشت 1392, 15:13 عصر
On error goto E
'your code
Exit sub
E:
'close code


از پاسخ گوییتون تشکر میکنم.
اما این کد رو دقیقا کجا باید بگذارم؟
توی Private Sub Winsock_Error گذاشتم فایده نداشت
توی data arrival هم گذاشتم فایده نداشت
توی خود جایی که برای ارسال دیتا بود گذاشتم فایده نداشت
مثلا این :
Private Sub Command_Click()
On Error GoTo E
Winsock.SendData "qwer"
Exit Sub
E:
End Sub
اما فایده نداشت و هنوز همون اررور wrong protocol or connection state for the requested transaction or request رو داد

این مشکل رو وقتی پیدا میکنم که بعد از مدتی وینساک من از سرور قطع میشه و وقتی وینساک میخواد اطلاعات رو دوباره بفرسته چون از سرور قطع شده این ارور رو میده و میخوام Close و Connect بشه تا مشکلش برطرف بشه.
ممنون

saber67
شنبه 14 اردیبهشت 1392, 22:25 عصر
به این تاپیک (http://barnamenevis.org/showthread.php?373683-%D9%85%D8%B4%DA%A9%D9%84-%D8%A8%D8%A7-winsock-.....%D8%AF%D9%86%D8%A8%D8%A7%D9%84-%D8%B1%D8%A7%D9%87-%D8%AD%D9%84-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A8%D9%87-%DA%A9%D9%84%D8%A7%DB%8C%D9%86%D8%AA(%D9%81%D9%88% D8%B1%DB%8C)&p=1675912&viewfull=1#post1675912) یه سر بزن، احتمالا مشکلت حل بشه
موفق باشی

Mohammad.sweets
یک شنبه 15 اردیبهشت 1392, 16:21 عصر
سلام
تا جایی که من میدونم این ارور موقع کانکت شدن رخ میده ... پس این کد رو در قسمتی که کانکت میشی بنویس
مثال:
Private Sub Command1_Click()
On Error GoTo e
WS.Connect
Exit Sub
e:
WS.Close
DoEvents
End Sub

igneousstars
شنبه 21 اردیبهشت 1392, 19:44 عصر
آقای محسن 15 جوابمو کامل داده بود
ولی من نمیدونستم که تا پروژه رو EXE نکنی این کد توی حالت TEST کار نمیکنه

بازم ممنون

SlowCode
شنبه 21 اردیبهشت 1392, 20:26 عصر
آقای محسن 15 جوابمو کامل داده بود
ولی من نمیدونستم که تا پروژه رو EXE نکنی این کد توی حالت TEST کار نمیکنه

بازم ممنون

این کد تو حالت دیزاین هم کار میکنه، تو مسیر زیر تیک رو روی آپشن دومی یا سومی بزار(احتمالا روی اولی گذاشتی):
Tools-->Options-->General-->Error trapping