PDA

View Full Version : دستور پایان برنامه و خروج



ramsess
شنبه 14 دی 1387, 14:01 عصر
سلام اهل فن
من برای منوی خروج توی برنامم این کد رو می نویسم end
ولی وقتی خارج می شه و کلیدهای ALT+CTR+delet رو بگیرین توی پراسس ویندوز هنوز هست کد خروج کامل چیه لطفا راهنمای بفرمائید. مرسی

araelectronic@ymail.com
شنبه 14 دی 1387, 14:10 عصر
me.close
unload me

.:KeihanCPU:.
شنبه 14 دی 1387, 16:22 عصر
دوست من دستور End خیلی کاملتر پروژه رو میبنده.
دستوری که بالا معرفی شد فقط فرم جاری رو میبنده.اما End کل برنامه رو

REZADG
شنبه 14 دی 1387, 22:13 عصر
دوست من دستور End خیلی کاملتر پروژه رو میبنده.
دستوری که بالا معرفی شد فقط فرم جاری رو میبنده.اما End کل برنامه رو
پس چرا END خیلی جاها خوب کار نمیکنه؟؟؟

Yousha
شنبه 14 دی 1387, 22:23 عصر
سلام اهل فن
من برای منوی خروج توی برنامم این کد رو می نویسم end
ولی وقتی خارج می شه و کلیدهای ALT+CTR+delet رو بگیرین توی پراسس ویندوز هنوز هست کد خروج کامل چیه لطفا راهنمای بفرمائید. مرسی

اگر Socket/Network programming انجام دادین یا Component بارگذاری کردید، بطور کامل اتصالشون رو قطع کنید و از حافظه هم Unload شون کنید.

xxxxx_xxxxx
شنبه 14 دی 1387, 22:24 عصر
پستي كه من حذف كردم دليل همينو گفته بودم. اما امتحان كردم ديدم نه اوني كه گفتم نيست.

من مي گم چون ما تو برناممون از دستورات show , Hide , Unload به جا استفاده نمي كنيم اين اتفاق مي افته.
بايد هر فرمي كه load ميشه يه زماني هم unload بشه.( نه Hide)
اگر برنامه اي نوشتيد كه اين نكات رو توش رعايت نكرديد مي تونيد قبل از دستور END كل فرم هارو يكي يكي براي اطمينان Unload كنيد. ضرر نداره. اون وقت بعد از اجراي دستور END برنامه كاملا بسته ميشه.

REZADG
شنبه 14 دی 1387, 23:28 عصر
نه من تمام این ها رو امتهان کردم برای مثال
من برنامه ی پارسی نیمز نوشتم برای هر Unload یک End,Close نوشتم بعد بسته شودن
ولی قبل اون فقط End مینوشتم که از حافظه خار ج نمی شود
فکر کنم ما باید تمامی اطلاعات رو قطع کنیم یعنی من در برنامم از پایگاه داده استفاده کرده بودم که باید در رویداد Unload اون رو قطع میکردم اون وقط فکر کنم کامل بشه اما با چه کدی ؟؟؟

xxxxx_xxxxx
شنبه 14 دی 1387, 23:37 عصر
اگر از ADODC و يا DATA براي ارتباط با بانك استفاده مي كنيد نيازي به قطع كردن ارتباطشون نيست.

parselearn
شنبه 14 دی 1387, 23:42 عصر
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

Private Sub Form_Unload(Cancel As Integer)
TerminateProcess GetCurrentProcess, 0
End Sub

araelectronic@ymail.com
شنبه 14 دی 1387, 23:46 عصر
با سلام
بستگي داره دستورات بالا رو تو كدوم فرم بكار ببريد اگر تو فرم اصلي اين دستورات را بزنيد برنامه را ميبندد.
اگر در فرمي غير از فرم اصلي باشيد بايد براي خروج از برنامه بجاي me نام فرم اصلي را بنويسيد

ramsess
پنج شنبه 19 دی 1387, 10:39 صبح
دوستان من مشکلم هنوز حل نشده
وقتی که دستور end رو اجرا می کنم برنامه بسته می شه ولی وقتی که کلیدهای ALT + ctr + delete رو می گیریم و endtask رو می آرین می بینیم توی لیست پراسس ویندوز هستش و هنوز برنامه توی ویندوز در حال اجرا هستش این مشکل منه....

parselearn
پنج شنبه 19 دی 1387, 13:20 عصر
ليست كنترلهايي كه در برنامه استفاده كردين به هرماه تعداد فرمها را لطفا در اينجا قرار دهيد
ضمنا
براي خارج شدن از همون دستور Unload ميشه استفاده كرد
تك تك فرمها رو آنلود كرد

ASedJavad
جمعه 20 دی 1387, 13:01 عصر
سلام
از اين استفاده كن شايد درست بشه:


For Each i In Forms
Unload i
Next

sina_saravi1
شنبه 21 دی 1387, 03:10 صبح
سلام شما مطمئنید که یک بار برنامه رو اجرا کردید؟

noorsoft
شنبه 21 دی 1387, 05:57 صبح
با این زیر برنامه برنامه شما کلا بسته میشه



Public Sub Terminate_APPLICATION()

Dim target_hwnd As Long
Dim target_process_id As Long
Dim target_process_handle As Long
Dim lHandle As Long

target_hwnd = frmMain.hwnd
GetWindowThreadProcessId target_hwnd, target_process_id

' Open the process.
target_process_handle = OpenProcess( _
SYNCHRONIZE Or PROCESS_TERMINATE, _
ByVal 0&, target_process_id)
If target_process_handle = 0 Then
End
Exit Sub
End If

' Terminate the process.
If TerminateProcess(target_process_handle, 0&) = 0 Then
End
End If

' Close the process.
CloseHandle target_process_handle
End Sub

Tasiyan
یک شنبه 22 دی 1387, 12:48 عصر
دوست عزیز شما به احتمال زیاد از close بالای فرم برای بستن برنامه استفاده میکنید ، برای حل مشکل کافیست داخل یک کامند دستور end و تایپ کنی و در ضمن کل فرمهایی که بازکردی unload کنی

noorsoft
پنج شنبه 26 دی 1387, 03:53 صبح
دوست عزیز شما به احتمال زیاد از close بالای فرم برای بستن برنامه استفاده میکنید ، برای حل مشکل کافیست داخل یک کامند دستور end و تایپ کنی و در ضمن کل فرمهایی که بازکردی unload کنی


بعضی مواقع دستور End باعث خروج کامل برنامه نمیشه بدین صورت که ظاهرا برنامه بسته شده ولی در Task Manager هنوز وجود داره

meys34
یک شنبه 06 بهمن 1387, 23:47 عصر
حتما يه ايرادي توي سورست هست وگرنه لزومي به Terminate كردن پروسه برنامه خودمون وجود نداره:لبخندساده: