الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامجي عند اغلاقه يبقى في ادراة المهام فما الحل

مغلق
بدأه قديم الشوق في 15 مايو 2007 · 40 رد · 2,668 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عند ماأنتهيت من برنامجي وصدرته للتجربه كان كل شي تمام

بس سكرته من علامة الاكس

ويوم جيت احذف عطاني علامة خطاء تبين ان البرنامج يعمل في ادراة المهام

وما سكر كامل وش الحل مع هذي المشكله

وشكر لكم

get-7-2007-4nw_net_hbj46tna.jpg
#2

الحل يا أستاذي العزيز

هو أن برنامجك يستخدم أكثر من نموذج فورم Form

و لحل هذه المشكلة

اذهب الي الفورم Form النموذج الرئيسي و في حدث الاتهاء UnLoad

اكتب أسماء النماذج التي لديك

frmName.visible=False

frmName2.Visible=False

و هكذا مع ملاحظة أن تستبدل أسماء النموذج باسماء الforms التي لديك

أو استخدم الأتي بدل السابق

unLoad (frmName1)

unLoad (FrmName2)

و استبدل frmName1 و frmName2 بأسماء الفورمس التي لديك

و زد عليها ان كان لديك أكثر من نوذج

و المشكلة دي يا سيدي بتيجي لما البرنامج بيقفل ساعات بتفضل هناك نماذج فورمس شغالة حتي بعد اغلاق النموذج الرئيسي علشان كده بيفضل البرنامج في ادارة المهام

لذا اتبع السابق و شكرا

I Like Information Sharing

#3

يعطيك العافيه ومشكور الله يجزاك خير

راح اطبق واخبرك

سلام

get-7-2007-4nw_net_hbj46tna.jpg
#4

العفو أخي

و جرب و قوللي

I Like Information Sharing

#5

شوف على حسب مافهمت اني اضع في الفورم الرئيسي وهو الفورم1

وضعت الاومر كذا وحصل معي خطاء

Private Sub Form_Load()

Unload (Form2)

Unload (Form3)

Unload (Form4)

Unload (Form5)

Unload (Form6)

Unload (Form7)

Unload (Form8)

Unload (Form9)

Unload (Form10)

Unload (Form11)

Unload (Form12)

End Sub

ايش المشكله

get-7-2007-4nw_net_hbj46tna.jpg
#6

مهو أمر unload ساعات بيبقي فيه خطأ

و الخطأ بيكون لو الفروم اللي عايز تقفلها بأمر unload

مش مفتوحة Load أصلا

خصوصا اني حطيتلك طريقة تانية

استخدم frmName.Visuble=False

بدل

unload (frmName)

تم تعديل هذه المشاركة بواسطة بيجاسوس في 15 مايو 2007 في 12:53

I Like Information Sharing

#7

ممكن تضع الكود التالي في الحدث الخاص

Form_Load

الكود

App.TaskVisible = False

وهذا الكود وظيفته اخفاء برنامجك من قائمة المهام tasj manger

ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل

#8

ممكن تضع الكود التالي في الحدث الخاص

Form_Load

الكود

App.TaskVisible = False

وهذا الكود وظيفته اخفاء برنامجك من قائمة المهام tasj manger

ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل

#9

نفس المشكله مانفع معي

frmName.Visuble = Form2

frmName.Visuble = Form3

frmName.Visuble = Form4

frmName.Visuble = Form5

frmName.Visuble = Form6

frmName.Visuble = Form7

frmName.Visuble = Form8

frmName.Visuble = Form9

frmName.Visuble = Form10

frmName.Visuble = Form11

frmName.Visuble = Form12

طيب لوالغي فعالية علامة الاكس اللي هي الاغلاق

واضع في زر خروج امر يسكر كل الفورمات اللي شغاله

مش احسن

معليش هاغلبك معايا شوي

get-7-2007-4nw_net_hbj46tna.jpg
#10
اقتباس
استخدم frmName.Visuble=False

هذه تقوم بتحميل الفورم للذاكرة ويكون مخفي

لكن يمكنك استخدام ما يلي

Dim frm As Form
For Each frm In Forms
Unload frm
Next

واسبقها ب

on error resume next

وكذلك حل فعال واكيد هو جملة (مع عيوبه)

end
#11

أخي ال app.taskvisible= False

لا تفيد حيث انها تخفي الاسم فقط لكن في ال processe هيكون اسم البرنامج موجود برضه

و قديم الشوق , آه ممكن بس انا كنت مجرب اللي قولتلك عليه في مشروعي و نفع

أنا هقولك علي الحل

اسمعني بقي

اعمل اللي هقولك عليه في كل النماذج الفرعية

حط أداة تايمر Timer

و خلي ال Interval = "1"

و حط الكود ده في التايمر

if me.visible = false

then

unload me

end if

اعمل الطريقة دي في كل النماذج الفرعية بس

أوك جرب و قوللي

تم تعديل هذه المشاركة بواسطة بيجاسوس في 15 مايو 2007 في 13:21

I Like Information Sharing

#12

الكود فيه خطاء لون الخط يطلع احمر

get-7-2007-4nw_net_hbj46tna.jpg
#13

عفوا و أنا باكتب then

نزلت سطر خطأ

خد الكود أهه

if me.visible = false then

unload me

end if

معلش علشان السرعة في الكتابة هههههههههه

I Like Information Sharing

#14

زى ما قال طارق : نادى الكود التالى عند أغلاق البرنامج :

Public Sub CloseAllForms()
On Error Resume Next

Dim Frm As Form

For Each Frm In Forms
	Unload Frm
	Set Frm = Nothing
Next
End Sub

و لا تستعمل End للمشاكل الممكن حدوثها منه.

و لكن فى أسباب أخرى أحيانا بتسبب المشكلة دى حتى بدون Hidden Forms , أذكر منها وضع Hooks مختلفة مع بعض ( سبق وعملى المشكلة دى ) و أتحلت بأستعمال Class منفرد لكل Hook

عموما جرب الحل الأول أن منفعش أرفق البرنامج بتاعك.

تم تعديل هذه المشاركة بواسطة msayed2004 في 15 مايو 2007 في 13:52

#15

فعلا الكود اللي وضعه الأستاذ بيغلق أي فورم فرعية عند اغلاق البرنامج

و هو الحل الأمثل

لو مش عايز تحط الكود بتاعي في كل فورم فرعية

يبقي انت يا قديم الشوق تحط الكود ده في التصريحات العامة مش في اي حدث ركز كويس

Public Sub CloseAllForms()

On Error Resume Next

Dim Frm As Form

For Each Frm In Forms

Unload Frm

Set Frm = Nothing

Next

End Sub

علشان الكود ده sub لوحده

و بعد كده حط الكود ده في حدث الانهاء للفورم الرئيسية Unload

CloseAllForms

بكده أول لما تغلق الفورم الرئيسية كل الفورمس الفرعية هتتقفل لوحدها

موفق

I Like Information Sharing

#16

لا مش مشكله

الله يعطيك العافيه ومشكور بيجاسوس

وجزاك الله خير

وشاكر لك من رد محاول افادتي

لكم اجزل الشكر والعرفان

سلام

get-7-2007-4nw_net_hbj46tna.jpg
#17

العفو يا سيدي بس جرب الطريقة بتاعة ال Timer

أو آخر طريقة بتشتغل معاك ان شاء الله

I Like Information Sharing

#18

كان لدي برنامج

في الفورم الثاني اكتب خروج في كوماند

و اكتب فيها end لكن نفس المشكلة

startingprogremmer.jpg
#19

اتمنى حل هذه المشكلة

startingprogremmer.jpg
#20

أرفق مشروعك , مش أنا قلت :

اقتباس
و لكن فى أسباب أخرى أحيانا بتسبب المشكلة دى حتى بدون Hidden Forms , ...............................................

عموما جرب الحل الأول أن منفعش أرفق البرنامج بتاعك.

#21

السلام عليكم

انا كنت اكتب هذا الرد و لم ارى ردك :) :)

startingprogremmer.jpg
#22

هل هناك كود قصير جدا ؟؟

مثال : انظر end انها كلمة صغيرة جدا

لكن هذا الكود طويل

(صحيح انه يحل هذه المشكلة لكن هو طويل)

startingprogremmer.jpg
#23

ثانيا

المبرمج لا يحفظ الاكواد

اذا يجب ان يفهمها

هل يمكنك الشرح

(On Error Resume Next

Dim Frm As Form

For Each Frm In Forms

Unload Frm

Set Frm = Nothing

Next

End Sub)

startingprogremmer.jpg
#24

on error resume next

معناها عند حدوث خطأ اذهب الي السطر التالي للكود (لهذه الجملة) متفاديا هذا الخطأ

Dim frm as Form

معناها حجز frm ككائن object من النوع نموذج Form

فبذلك ياخذ frm كل خصائص و أحداث النموذج الافتراضي

و بعد ذلك الكود يقوم باغلاق اي نموذج فورمس

set frm = Nothing

عن طريق السطر السابق

I Like Information Sharing

#25

سلام

عفوا ممكن قبول مداخلتي؟!

. إذا كان المطلوب هو انهاء التطبيق بـالخصيصة (Quit) باستخدام أداة التكم (X) : فأرجوكم وضعه في الحدث (OnClose) الخاص بالنموذج الرئيسي (فقط)

. لايمكن قبول (Quit) في الحدث (OnUnLoad) بتاتا!

. إذا كان لديك (زر أغلاق) فيكفي الاشارة إليه بكتابة اسم الزر والحدث الذي يقع علي الحدث فقط في الحدث (OnClose) للنموذج

:: ملاحضة: الخصيصة (Quit) تنهي جميع النماذج المفتوحة. لست بحاجة هذا العناء!

سلام

القحم

تم تعديل هذه المشاركة بواسطة Gaham في 15 مايو 2007 في 17:18

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…