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

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

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

OnClose :blink: تقصد Forum_Unload

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

#27

سلام

أقصد ( form_OnClose)

القحم

#28

هى كذلك فى الـ VBA و الله أعلم لكن Form_Unload فى الـ VB 6

#29

سلام

أوه أسف جدا جدا جدا

فهمت غلط

سلام

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

أستعمل الدالة ExitProcess كما يلي :

ExitProcess.rar

#31

يا ريت يا جماعة الى مش عارف حاجة ميتكلمش

صدقنى افضل لك انك ما تجاوب من انك تجاوب بمعلومات مغلوطة

اقتباس
السلام عليكم

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

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

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

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

وشكر لكم

والرد

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

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

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

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

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

frmName.visible=False

frmName2.Visible=False

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

اقتباس
اسمعني بقي

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

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

و خلي ال Interval = "1"

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

if me.visible = false

then

unload me

end if

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

والشرح ده

اقتباس
on error resume next

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

Dim frm as Form

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

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

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

set frm = Nothing

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

ابحث الاول اح بيجاسوس قبل الرد وتاكط من اجابتك

انا نفسى هناك مواضيع لا اعرفها فاترك المجال لغيرى

تم تعديل هذه المشاركة بواسطة حريف برمجة في 16 مايو 2007 في 02:26

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#32

ايه الغلط اللي في كلامي الأول

ها

و انت عايز تساعد الأخ ساعده , مش عايز يبقي متتكلمش من أساسه

و أنا اللي قولته مجربه

و عارف المشكلة دي لأنها قابلتني قبل كده زمان

تقوم تيجي حضرتك تتكلم و تقول غلط و انت أصلا لا جربت و لا حليت مشكلة الأخ

أما انسان غريب

ربنا يبعدنا عنك و عن أمثالك

و عايزك بأه يا شيخ المبرمجين تعرفني حاجة غلط في كلامي

قبل لما تتكلم

و لما تيجي يا بابا تقول فيه حاجة غلط يبقي تقول ايه هي

خلاص

تم تعديل هذه المشاركة بواسطة بيجاسوس في 16 مايو 2007 في 07:48

I Like Information Sharing

#33
حريف برمجة كتب:
يا ريت يا جماعة الى مش عارف حاجة ميتكلمش

صدقنى افضل لك انك ما تجاوب من انك تجاوب بمعلومات مغلوطة

اقتباس
السلام عليكم

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

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

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

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

وشكر لكم

والرد

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

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

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

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

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

frmName.visible=False

frmName2.Visible=False

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

اقتباس
اسمعني بقي

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

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

و خلي ال Interval = "1"

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

if me.visible = false

then

unload me

end if

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

والشرح ده

اقتباس
on error resume next

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

Dim frm as Form

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

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

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

set frm = Nothing

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

ابحث الاول اح بيجاسوس قبل الرد وتاكط من اجابتك

انا نفسى هناك مواضيع لا اعرفها فاترك المجال لغيرى

ابقي اعرف فين الغلط و ابقي اتكلم

ربنا يحمينا منك و من أمثالك

تم تعديل هذه المشاركة بواسطة بيجاسوس في 16 مايو 2007 في 07:55

I Like Information Sharing

#34

والله يا حبيبى انت الى فتحت على نفسك

يعنى قبل نا تجاوب اتاكد ولا عاوز تزود المشاركات

على العموم الفاصل بينا المبمجون التانيين

نبدا باول اجابة

كان سؤال الاخ قديم الشوق هو

اقتباس
السلام عليكم

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

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

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

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

وشكر لكم

وكانت ليك اجابتين

اول اجالبة غلط

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

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

frmName.visible=False

frmName2.Visible=False

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

اى مبرمج مبتدا هيعرف ان الخاصية Visible مهمتها اخفاء الفورم مع بقائها فى الذاكرة يعنى لو استخدم الى انت بتقول عليه كان زود مشكلته اكتر

بعد ما استخدم طريقة سعاتك المرهقة فى الكتابة كان الرد

اقتباس
شوف على حسب مافهمت اني اضع في الفورم الرئيسي وهو الفورم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

ايش المشكله

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

يا سلام

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

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

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

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

استخدم frmName.Visuble=False

بدل

unload (frmName)

وبتكرر غلطك مرة تانية سبحان الله وكمان تنفى الصح

اقتباس
Dim frm As Form

For Each frm In Forms

Unload frm

Next

والكلام ده هو الصح

وتعليقك عليه

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

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

اسمعني بقي

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

ايه الى نفع المهم ؟؟

اقتباس
حط أداة تايمر Timer

و خلي ال Interval = "1"

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

if me.visible = false

then

unload me

end if

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

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

يعنى دمجت الاثنين فى بعض وعملت طريقة مستغلة لموارد الجهاز بطريقة فظيعة !!!

طيب مهى فى النهاية هتنفظ Unload لكن بعد ما تثقل الجهاز بالتيمر الى بينفذ كل 1 ملى ثانية

وبعد ما دخل محمد مع انك ليك احتكاك معاه

Public Sub CloseAllForms()
On Error Resume Next

Dim Frm As Form

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

وهواول واحد جاب الفكرة دى فى المنتدى

وما شاء الله كانت اضافتك غنية بالمعلومات

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

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

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

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

Public Sub CloseAllForms()

On Error Resume Next

Dim Frm As Form

For Each Frm In Forms

Unload Frm

Set Frm = Nothing

Next

End Sub

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

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#35
اقتباس
علشان الكود ده sub لوحده

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

CloseAllForms

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

موفق

يعنى بدل لما كان private خليته انت public

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

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

ولما حاولت تشرح الكود

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

(On Error Resume Next

Dim Frm As Form

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

كان شرحك خطير

اقتباس
on error resume next

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

Dim frm as Form

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

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

ماشى الكلام السابق صح

لكن

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

set frm = Nothing

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

بقى كود

set frm = Nothing

بيغلق الفورم

يعنى غلطة مش معقولة

وردك على بكل ثقة

اقتباس
ايه الغلط اللي في كلامي الأول

ها

و انت عايز تساعد الأخ ساعده , مش عايز يبقي متتكلمش من أساسه

و أنا اللي قولته مجربه

و عارف المشكلة دي لأنها قابلتني قبل كده زمان

تقوم تيجي حضرتك تتكلم و تقول غلط و انت أصلا لا جربت و لا حليت مشكلة الأخ

انا الى ما جربنش برده

اقتباس
أما انسان غريب

ربنا يبعدنا عنك و عن أمثالك

انا

اقتباس
و عايزك بأه يا شيخ المبرمجين تعرفني حاجة غلط في كلامي

الناس ترد

سبحان الله انت لما اى حد يقولك حاجة تروح تمسك فيه بدل لما تتقبلها

ونفس الكلام مع محمد سيد لما حط الكنترول بتاعته

انا مش ضد انك تجاوب وكلنا بنغلط لكن لما تبقى مش متاكد من حاجة تقول كدة

الناس الى هيدوخوا فى المعلومات الى انت حاططها

ربنا يهديك

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

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#36

1 - أزود مشاركات ليه

2 - بعض اللي انت قولته صحيح

3 - كان ممكن كلامك يتقال بطريقة ألطف من كده

I Like Information Sharing

#37

ياسيدى انا اسف كان المفروض الكلام يتقال فى رسالة خاصة

معلش ان باعتزر

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#38

فكرة الأخ محمد سيد حفظه وحفظك الله ياحريفنا ،هو صحيح جابها للمنتدى وتناقشت معه بها ولكن أنا حسب ما أتذكر هي موجود في المنتدى

وهي صحيح طريقة ممتازة وجميلة يعني الواحد يحطها لا تؤثر على البرنامج ، ولكن أعتقد الامر End يفي بالغرض

أريد مثال أو برنامج الأخ طريق الشوق لو تفضل علينا بإختصاره ورفعه مع بقاء مشكلته لنرى ما المشكلة وكيف أنه يبقى في إدارة المهام

ونستعمل طريقة End أو طريقة الأخ محمد ونشوف ما السبب.

#39

شكلها مش هتنفع الا بانهاء المعالجة بالاى بى اى

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#40

زى ما الأخ عبد العزيز قال يا ريت يرفق الرنامج , لكن برده أنا مقتنع بمشاكل End ;)

#41

فين قديم الشوووووووق

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

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

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

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

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

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

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