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

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

مغلق
بدأه asajm في 26 أكتوبر 2005 · 16 رد · 1,778 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

يا حبايب لي فترة و أنا أتعامل مع الـ j2me

كانت تأتيني هذا الـ Exception إذا طبقت عليه الـ run (يعني يتجاوز التنقيح ولكن لا يظر البرنامج في المحاكاة)

Cannot create MIDlet class

Illegal access Exception

على ما أعتقد حول هذا الكلام

فمرات أهنق(أتعطل) عندها ومرات أتجاوزها ..! لا أعلم كيف ؟؟

هل أحد عنده فكرة حول هذا الأمر ؟ أفيدونا بذلك مشكورين ...

#2

لقد بحثت في المنتدأ حول هذا الأمر فلم أجد ما يشفي عليلي .... إذ أني لم أجد شيء يتحدث على ما واجهته .

#3

تفحص إعدادات مشروعك، تأكد من تطابق اسم الفئة الرئيسية مع الحزمة في كل من شفرتك و إعداداتك،،

أو حمل ملف مشروعك هنا للفحص،، ليس فقط الشفرة، بل الملف كاملا الذي يحوي كل شيء عن مشروعك!

بالتوفيق!

#4

أبو مازن فحصت إعدادات المشروع لكن على حسب ظني ، فهلا توضح ما تقصد في

اقتباس
تأكد من تطابق اسم الفئة الرئيسية مع الحزمة في كل من شفرتك و إعداداتك،،

كان بودي أن أضع الجمل بما حمل لكن المشكلة أن المشروع لم أنتهي منه .

#5

السلام عليكم

اذا كنت تستخدم ال netbeans

فاضغط على اسم المشروع باليمين و من ثم اختر اعدادات

و بعد ذلك MIDLets من Application descriptor

وبعد ذلك تعمل تعديل او تضف اسم ملف الجافا في قائمه MIDlets in Suite

و اتمنى ان تفنع هذه الطريقه

اما اذا كنت تستخدم اي ادتنور اخر فكما قال الاخ ابو مازن ان تتأكد من اعدادات المشروع من حيث تطابق الاسامي

و لكن لا اعرف كيفيه الخطوات بالضبط لاني لا استخدم الا النت بينز (h) و مش من فتره بعيده

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

#6

السلام عليكم ...

أخي بدلت الكود بكود آخر لبرنامج آخر فشتغل دون أي أستثناءات ، فيما يبدو لي أن إعدادات المشروع لا خلاف فيها ، أليس كذلك ؟

ممكن يا أخوه أن توضحوات عمل هذا الإستثناء

Illegal access Exception

بصراحة لم أفهم عملة 100% ، فهلا من موضح لها ؟

#7

هل لك أن تضع الخطأ كاملا!!

انسخ الخطأ كاملا،، هنا!!

#8

السلام عليكم ..

أخي أبو مازن هذا الخطأ :-

Unable to create MIDlet Test

java.lang.IllegalAccessException

at com.sum.midp.midlet.MIDletState.createMIDlet(+19)

at com.sum.midp.midlet.Selector.run(+22)

Test هذا الكلاس extends من MIDlet يعني هو الكلاس الرئيسي

بالتوفيق أبومازن ...

#9

ممكن تضع شفرة اسم الفئة Test،، ما هي الحزمة التي تنضم إليها Test؟؟ هل المنشئ public؟؟ هل الفئة public؟؟ هل المنشئ يحوي () متغيرات؟؟

كلما أعطيتنا معلومات أكثر كانت الإجابة أسرع،،

عموما تأكد حاليا من الأشياء التي ذكرتها لك الآن..

#10

السلام عليكم ...

أولاً: فكرة هذا البرنامج هي :-

• في فترته الحالية :-

1. مساعدة المستخدم على التسويق بتحديد السلعة وثمنها وكميتها ثم إجمالي مبالغ السلع.

• في فترته المستقبلية :-

1. سيتعامل بإذن الله مع قاعدة بيانات تخدم المستخدم بالتعرف على مصاريف شهره .

2. سيتعامل بإذن الله مع الرسائل النصية التي من خلالها يستطيع من في البيت بالتعامل مع المتسوق.

البرنامج حالياً في أوله .

المشكلة التي أواجهها حالياً لم تكن هنا فقط بل بدأت معي في مشاريع سابقة (ليس من كثرتها لكن صيغة الجمع تنطبق على الثلاثة مثلاً).

ثانياً: هذا هو ملفات المشروع في أوله وبصراحة حاولت أن لا أضعه هنا حتى أنتهي منه.

Ahmed.rar

#11

غير هذا، وسيعمل بإذن الله.

	public Test(){}

وليس :

Test(){}

في المرة القادمة، أرفق مجلد المشروع كاملا، وليس فقط مجلد الشفرة،،

مجلد المشروع يحوي، مجلد الشفرة src ومجلد bin, classes, temp وملفات إعدادات المشروع! وهذا ما يساعدنا ويساعدك بسرعة..

أنت لست مطالبا بوضع برنامجك النهائي هنا، فأنت حر مع مشروعك، لكن إن كان ظهور شفرة مشروعك لا ينبني عليه خسارة شركتك مثلا وانتشار أسرارها، فضعه هنا للفائدة!

أرجو من المشاركين توضيح المشكلة كاملة في المستقبل، مع وضع كل ما يفيد في حل الموضوع بسرعة!

أمر آخر،، حتى لو كان المشروع غير مكتملا فضعوه هنا،، لا يهمنا أن يكون المشروع يعمل، فنحن لسنا مستخدمون، هذا ليس منتدى برامج جاهزة، هذا منتدى مناقشة مشاكل الشفرة وطريقة اتخاذ أفضل طرق تصميم الشفرة.

بالتوفيق!

#12

السلام عليكم ...

1- بالنسبة لـ public لا تحل الإستثناء لأنني جربتها سلفاً.

2- أعتقد أن أصحاب الشركات إذا كانوا مختصين في مثل هذا المجال يتوجب عليهم بتوظيف واحد على الأقل يكون خبير في ذلك (أمثالكم أعني).

3-

اقتباس
ثانياً: هذا هو ملفات المشروع في أوله وبصراحة حاولت أن لا أضعه هنا حتى أنتهي منه.
لعل المفهوم منها أن هناك أمر جبرياً كان وراء وضعي للملفات !! فهذا غير صحيح ، فالأمر وما فيه أنني لم أحبذ أن أضع الملفات قبل الإنهاء منها .. لماذا ؟؟ ممكن لأنني عربي !!!؟ لكن عندما فكرت ملياً أبصرت أن عند وضعي لتلك الملفات فيها فائدة لي أولاً ثم للزائرين ثانياً .

لكن

لم أستوعب هذه الجملة !!

اقتباس
أرجو من المشاركين توضيح المشكلة كاملة في المستقبل،

المهم

هذا هو ملف المشروع كاملاً علماً أن هذا الملف كان يحتوي على شفرة سابقة لهذا البرنامج المذكور ، واجهت فيه مثل الخطأ الذي نحن بصدده الآن لكن تجاوزته .... كيف؟ لا أدري !!

اقتباس
بالتوفيق!

Ahmed.rar

#13

الخطأ الناتج عن برنامجك حاليا:

Unable to create MIDlet Test
java.lang.ClassNotFoundException: Test
	at com.sun.midp.midlet.MIDletState.createMIDlet(+29)
	at com.sun.midp.midlet.Selector.run(+22)

وهو مختلف عن هذا:

Unable to create MIDlet Test
java.lang.IllegalAccessException
at com.sum.midp.midlet.MIDletState.createMIDlet(+19)
at com.sum.midp.midlet.Selector.run(+22)

عموما، الحل السابق ينفع في حالة ظهور الخطأ الأول،،

لحل المشكلة الثانية، هي في الإعدادات أو بالأخص في ملف (جاد):

الإعدادات تشير إلى الفئة الرئيسية هي Test لكن الفئة الرئيسية التي عندك هي Admed.Test،، ولحل هذه المشكلة توجه إلى

settings

MIDlets

اختر الMIDlet الرئيسي الذي عندك Test

Edit

غير اسم الفئة إلى Ahmed.Test

بعد هذا عند الترجمة سوف تظهر لك المشكلة الثانية،، وتحلها بهذه الطريقة:

إما أن تحذف:

Test(){}

أو أن تجعلها public...

عموما المشكلة حلت في الملف المرفق،،

بالتوفيق!!

Ahmed.zip

#14

السلام عليكم ...

أولاً: أهني الأخ أبو مازن والمسلمين بحلول عيد الفطر المبارك وأقول كل عام وانتم بخير واسأل الله أن يجعلنا من الذين كُتب لهم العتق من النار والفوز بالجنان .

ثانياً: أشكر الأخ أبو مازن الذي كان حيناً بحيناً معي وأعتذر منه حيث أني تغيب في الفترة الماضية .

أعتقد أن المشكلة التي كانت لدي تكمن في :-

اقتباس
لحل المشكلة الثانية، هي في الإعدادات أو بالأخص في ملف (جاد):

الإعدادات تشير إلى الفئة الرئيسية هي Test لكن الفئة الرئيسية التي عندك هي Admed.Test،، ولحل هذه المشكلة توجه إلى

settings

MIDlets

اختر الMIDlet الرئيسي الذي عندك Test

Edit

غير اسم الفئة إلى Ahmed.Test

لأنني جربت مسبقاً كلتا الطريقتين التاليتين:-

اقتباس
بعد هذا عند الترجمة سوف تظهر لك المشكلة الثانية،، وتحلها بهذه الطريقة:

إما أن تحذف:

Test(){}

أو أن تجعلها public...

فلم تجدي نفعاً

فأشكرك جزيلاً على ما قدمت .

لكن فضلاً منك وليس أمراً أن توضح معاني هذه الأرقام

29+

22+

و

19+

22+

التي وجدت في هاذين الإستثائين

Unable to create MIDlet Test
java.lang.ClassNotFoundException: Test
at com.sun.midp.midlet.MIDletState.createMIDlet(+29)
at com.sun.midp.midlet.Selector.run(+22)

Unable to create MIDlet Test
java.lang.IllegalAccessException
at com.sum.midp.midlet.MIDletState.createMIDlet(+19)
at com.sum.midp.midlet.Selector.run(+22)

بالتوفيق!!!

#15

هذه أسطر مواقع حدوث الخطأ، وهي تشير إلى الفئات والطرق التي تستدعي بعضها..

مثلا حدث خطأ IllegalAccessException في السطر 19 في الفئة MIDletState في الطريقة createMIDlet... وهذه الطريقة نادتها الطريقة run في الفئة Selector

(طبعا هذه الفئات تبدأ بالعمل قبل تشغيل برنامجك...

ألم يعمل الملف المرفق عندك؟

#16

بالتأكيد تجاوزت المشكلة ...

وذلك بفضل الله ثم بفضلك

لكن هل أنت متأكد أن الرقم 19 مثلاً في الخطأ IllegalAccessException يدل على سطر الخطأ ؟!؟

لأنني أعتقدت ذلك مسبقاً فوجدت ذلك السطر يشير إلى سطر فارغ !!

أخي أبو مازن

كلما أتعامل مع الـ j2me أحس بأنني في غرفة مظلمة فيها شعاع نور يُشعِرُني بأن الغرفة ضيقة ، فلا أدري ألقلة النور الذي أُبصر به أم أن الغرفة فعلاً ضيقة ؟

#17

حدث الخطأ في الفئة MidletState وليس في فئتك!!

ربما كليهما!!

:)

لم أرى الرد إلا الآن!

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

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