نمايش پست تنها
قديمي ۰۷-۲۷-۱۳۸۷, ۰۶:۵۷ بعد از ظهر   #158 (لینک دائم)
Siavash Male
Administrator
 
آواتار Siavash
 
تاريخ عضويت: ارديبهشت ۱۳۸۷
محل سكونت: تهران
پست ها: 179
تشكرها: 27
439 تشكر در 108 پست
My Mood: Mehrabon
پيش فرض

اتفاقاً اين به خاطر باگي بود كه در نسخه ي قبل وجود داشت! يعني كار درست در نسخه ي جديد داره انجام ميشه. دليلش هم اين هست كه جواب شما با جواب تهي جايگزين ميشه. براي برطرف كردن اين مشكل از Else بايد استفاده كنيد. يا اينكه اون بخش رو با اين كد تعويض كنيد:
كد:
If Left(Message, 6) = "sendpm" Then
    Response = "Test Send Pm OK"
    sckYahoo.SendData sendPM(tUser.Text, PersonId, Response)
    Exit Sub
End If
دليل اينكه اين اتفاق مي افته اين هست كه ابتدا شما مقدار Response رو تغيير ميديد و بعد در خط هاي بعد مقدار Response رو با استفاده از getResponse ميخواد بدست بياره كه به خاطر پيدا نشدن جواب و تهي بودن اون مقدار "" داخل Response ريخته مي شه و در نتيجه بات فكر مي كنه كه جوابي موجود نبوده.
در ورژن قبلي وقتي جوابي پيدا نميشد تابع getResponse با ارور از تابع خارج مي شد (كه به خاطر استفاده از On error به تا انتهاي تابع getResponse نمي رفت و مقدار تهي جايگزين جواب نميشد) و در 1.3.1 اين مشكل حل شده.
انشاالله در نسخه ي بعدي ساختار بخش GetPM رو كمي تغيير ميدم تا ساده تر بشه به اون امكانات جديد اضافه كرد.
__________________
Siavash آفلاين است   پاسخ با نقل قول