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

الحل يا أستاذي العزيز
هو أن برنامجك يستخدم أكثر من نموذج فورم Form
و لحل هذه المشكلة
اذهب الي الفورم Form النموذج الرئيسي و في حدث الاتهاء UnLoad
اكتب أسماء النماذج التي لديك
frmName.visible=False
frmName2.Visible=False
و هكذا مع ملاحظة أن تستبدل أسماء النموذج باسماء الforms التي لديك
أو استخدم الأتي بدل السابق
unLoad (frmName1)
unLoad (FrmName2)
و استبدل frmName1 و frmName2 بأسماء الفورمس التي لديك
و زد عليها ان كان لديك أكثر من نوذج
و المشكلة دي يا سيدي بتيجي لما البرنامج بيقفل ساعات بتفضل هناك نماذج فورمس شغالة حتي بعد اغلاق النموذج الرئيسي علشان كده بيفضل البرنامج في ادارة المهام
لذا اتبع السابق و شكرا
I Like Information Sharing
شوف على حسب مافهمت اني اضع في الفورم الرئيسي وهو الفورم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)
تم تعديل هذه المشاركة بواسطة بيجاسوس في 15 مايو 2007 في 12:53
I Like Information Sharing
ممكن تضع الكود التالي في الحدث الخاص
Form_Load
الكود
App.TaskVisible = False
وهذا الكود وظيفته اخفاء برنامجك من قائمة المهام tasj manger
ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل
ممكن تضع الكود التالي في الحدث الخاص
Form_Load
الكود
App.TaskVisible = False
وهذا الكود وظيفته اخفاء برنامجك من قائمة المهام tasj manger
ما زال الرجل عالما طالما يتحري العلم فان قال علمت ........ فقد جهل
نفس المشكله مانفع معي
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
طيب لوالغي فعالية علامة الاكس اللي هي الاغلاق
واضع في زر خروج امر يسكر كل الفورمات اللي شغاله
مش احسن
معليش هاغلبك معايا شوي

اقتباساستخدم frmName.Visuble=False
هذه تقوم بتحميل الفورم للذاكرة ويكون مخفي
لكن يمكنك استخدام ما يلي
Dim frm As Form For Each frm In Forms Unload frm Next
واسبقها ب
on error resume next
وكذلك حل فعال واكيد هو جملة (مع عيوبه)
end
أخي ال app.taskvisible= False
لا تفيد حيث انها تخفي الاسم فقط لكن في ال processe هيكون اسم البرنامج موجود برضه
و قديم الشوق , آه ممكن بس انا كنت مجرب اللي قولتلك عليه في مشروعي و نفع
أنا هقولك علي الحل
اسمعني بقي
اعمل اللي هقولك عليه في كل النماذج الفرعية
حط أداة تايمر Timer
و خلي ال Interval = "1"
و حط الكود ده في التايمر
if me.visible = false
then
unload me
end if
اعمل الطريقة دي في كل النماذج الفرعية بس
أوك جرب و قوللي
تم تعديل هذه المشاركة بواسطة بيجاسوس في 15 مايو 2007 في 13:21
I Like Information Sharing
عفوا و أنا باكتب then
نزلت سطر خطأ
خد الكود أهه
if me.visible = false then
unload me
end if
معلش علشان السرعة في الكتابة هههههههههه
I Like Information Sharing
زى ما قال طارق : نادى الكود التالى عند أغلاق البرنامج :
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
إقرأ معى:
----
المثقفون العرب .. المزورون العرب: تأبين محمود درويش نموذجا
ماذا خسر العالم بانحطاط المسلمين ؟!! للعلامه: أبو الحسن الندوى (كتاب هام لكل مسلم).
المنهجية ومقدمات في الطلب (لطلاب العلم الشرعى)
فعلا الكود اللي وضعه الأستاذ بيغلق أي فورم فرعية عند اغلاق البرنامج
و هو الحل الأمثل
لو مش عايز تحط الكود بتاعي في كل فورم فرعية
يبقي انت يا قديم الشوق تحط الكود ده في التصريحات العامة مش في اي حدث ركز كويس
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
لا مش مشكله
الله يعطيك العافيه ومشكور بيجاسوس
وجزاك الله خير
وشاكر لك من رد محاول افادتي
لكم اجزل الشكر والعرفان
سلام

العفو يا سيدي بس جرب الطريقة بتاعة ال Timer
أو آخر طريقة بتشتغل معاك ان شاء الله
I Like Information Sharing
أرفق مشروعك , مش أنا قلت :
اقتباسو لكن فى أسباب أخرى أحيانا بتسبب المشكلة دى حتى بدون Hidden Forms , ...............................................عموما جرب الحل الأول أن منفعش أرفق البرنامج بتاعك.
إقرأ معى:
----
المثقفون العرب .. المزورون العرب: تأبين محمود درويش نموذجا
ماذا خسر العالم بانحطاط المسلمين ؟!! للعلامه: أبو الحسن الندوى (كتاب هام لكل مسلم).
المنهجية ومقدمات في الطلب (لطلاب العلم الشرعى)
هل هناك كود قصير جدا ؟؟
مثال : انظر end انها كلمة صغيرة جدا
لكن هذا الكود طويل
(صحيح انه يحل هذه المشكلة لكن هو طويل)

ثانيا
المبرمج لا يحفظ الاكواد
اذا يجب ان يفهمها
هل يمكنك الشرح
(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
عن طريق السطر السابق
I Like Information Sharing
سلام
عفوا ممكن قبول مداخلتي؟!
. إذا كان المطلوب هو انهاء التطبيق بـالخصيصة (Quit) باستخدام أداة التكم (X) : فأرجوكم وضعه في الحدث (OnClose) الخاص بالنموذج الرئيسي (فقط)
. لايمكن قبول (Quit) في الحدث (OnUnLoad) بتاتا!
. إذا كان لديك (زر أغلاق) فيكفي الاشارة إليه بكتابة اسم الزر والحدث الذي يقع علي الحدث فقط في الحدث (OnClose) للنموذج
:: ملاحضة: الخصيصة (Quit) تنهي جميع النماذج المفتوحة. لست بحاجة هذا العناء!
سلام
القحم
تم تعديل هذه المشاركة بواسطة Gaham في 15 مايو 2007 في 17:18
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…