PDA

View Full Version : خطای Safe handle has been closed



reza6384
جمعه 20 شهریور 1388, 13:31 عصر
سلام.

من در برنامه ام از پورت سریال استفاده میکنم ، می خوام وقتی که ارتباط دستگاه که به پورت سریال وصله با کامپیوتر قطع شد به کاربر یک پیام خطا بدم. اما هنگام چک کردن برقراری ارتباط با کد زیر با این خطا مواجه میشم که باعث میشه از برنامه خارج بشه.

این هم کد :




Function ConnectionAvailable() AsBoolean
Try

With MySerialPort
IfNot .IsOpen Then
.Open()
Else
.Close()
.Open()
EndIf
EndWith

ReturnTrue
Catch ex As Exception
MsgBox(ex.Message & vbCr & ex.StackTrace, MsgBoxStyle.Exclamation, "خطا")
Me._Connected = False
RaiseEvent ModemDisconnected()
ReturnFalse
EndTry
EndFunction


توضیح اینکه MySerialPort از کلاس Io.Ports.SerialPort هست و باز و بسته کردن پورت برای اینه که ببینم آیا GSM Modem وصل هست یا نه.

اگر میشه توضیح بدین که چرا وقتی که مودم از سیستم قطع میشه این کد وارد قسمت Exception نمیشه و خطای مذکور رو میده و از برنامه خارج میشه.

reza6384
یک شنبه 22 شهریور 1388, 17:48 عصر
کسی جواب این سوال رو نمی دونه ؟

Hesamzadeh
دوشنبه 23 شهریور 1388, 20:50 عصر
من از ۲۰۱۰ استفاده میکنم و متاسفانه تابع myserialport رو در کلاس گفته شده پیدا نکردم
میشه بگی دقیقا رو کدوم خط خطا میده؟به نظر من شاید اگر چک کنی که آیا دیوایسی رو پورت کانکت هست یا نیست منطقی تر باشه
باز اگر پروژه رو بزاری شاید بشه کانورتش کرد به ۲۰۱۰

reza6384
جمعه 27 شهریور 1388, 13:10 عصر
سلام دوست عزیز.

با تشکر از توجه شما. من از پورت سریال برای ارسال و دریافت sms از طریق برنامه استفاده می کنم به این صورت که وقتی که موبایل رو به کامپیوتر وصل میکنم یک مودم روی پورت مثلا COM9 قرار داره که باهاش ارتباط برقرار می کنم.

وقتی که یک سری اطلاعات با این پورت سریال رد و بدل شد ، یعنی بعد از اینکه کانکت شد ، اگر سیم مودم رو جدا کنم به محش اینکه MySerialPort.Write یا هر چیز دیگه ای رو بزنم از برنامه خارج میشه، یعنی به محض استفاده از آبجکت MySerialPort این اتفاق می افته. در ضمن شرمنده که نگفتم ، MySerialPort یک آبجکت از کلاس Io.Ports.SerialPorts هست.

maXXis
جمعه 27 شهریور 1388, 21:04 عصر
دوست عزیز هر وقت مشکلت حل شد یک آموزش در این باره بزار.(درباره دریافت sms).
دستت مرسی.

mohammad-gh
شنبه 11 مهر 1388, 13:18 عصر
سلام آقا رضا
من دارم برنامه ارسال پيام رو مي نويسم
اما تو كانكت شدن و ارتباط با پورت مودم gsm مشكل دارم ، به اين صورت كه پورت مودم به سختي باز ميشه و گاهي اوقات اصلا باز نمشه و ميگه access is denied foe com
حالا مي خوام بپرسم به نظر شما كه تجربه اين برنامه رو داريد مشكل از كجاست، در ضمن وقتي كابل usb‌مودم gsm‌رو جدا مي كنم و دوباره ميزنم اتصال درست ميشه و مي تونم كانكت بشم.
با close و dispose هم امتحان كردم ولي درست نشد

reza6384
یک شنبه 19 مهر 1388, 19:53 عصر
سلام آقا رضا
من دارم برنامه ارسال پيام رو مي نويسم
اما تو كانكت شدن و ارتباط با پورت مودم gsm مشكل دارم ، به اين صورت كه پورت مودم به سختي باز ميشه و گاهي اوقات اصلا باز نمشه و ميگه access is denied foe com
حالا مي خوام بپرسم به نظر شما كه تجربه اين برنامه رو داريد مشكل از كجاست، در ضمن وقتي كابل usb‌مودم gsm‌رو جدا مي كنم و دوباره ميزنم اتصال درست ميشه و مي تونم كانكت بشم.
با close و dispose هم امتحان كردم ولي درست نشد

مشکل Access Is Denied وقتی پیش میاد که یک برنامه یا یک Thread دیگه مثل Hyper Terminal یا برنامه خودتون پورت رو باز نگه داشته باشه. نمی دونم شاید روی کامپیوتر شما سرویسی فعال هست که تا موبایل رو به USB وصل میکنید به گوشیتون متصل میشه و پورت رو اشغال میکنه.