رفتن به مطلب
  • 0

مشکل در ساخت کتابخانه با جاوا برای B4A


Kazem Forghani

سوال

سلام ،

دوستان من دارم کتابخانه ای با جاوا (تحت محیط اکلیپس) می نویسم که قراره ویویی رو به عنوان CustomView باشه. تا چند وقت پیش مشکلی نداشت اما الآن با همون کد ها ارور زیر رو می ده. ( زمانی که کتابخانه رو کامپایل می کنم مشکلی نیست. وقتی توی بیسیک4اندروید تیک می زنم ارور زیر میاد. )

An error occurred.
Error parsing libraries.
Root element is missing.

( متاسفانه نتونستم عکس بگیرم. )

ارور بالا چه زمانی به وجود می آید؟ اگر لازم بود کدهای جاوا رو هم قرار بدم ذکر کنید.

با تشکر فراوان

لینک ارسال
به اشتراک گذاری در سایت های دیگر

12 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

کاظم جان من الان تست کردم هیچ مشکلی نداره و به راحتی کامپایل شد تو بیسیک هم تیکشو زدم و هیچ اروری نداد البته اون hide رو برداشتم کتابخونه رو هم میزارم برات تو بیسیک خودت یه بار بدون initialaize و یه بار با initialaize استفاده کن ببین ارور مروری چیزی میده یا نه من طرز استفادشو نمیدونم

سلام ،

مشکل اصلاٌ مربوط به Class نبوده! من یه Class دیگه داخل کتابخانه ساخته بودم و داخل اون هم @Version و @Author رو مشخص کرده بودم. Class ها با هم تداخل داشتن و Simple Library Compiler هم نمی دونسته اطلاعات کدوم رو استفاده کنه برای همین فایل XML رو تولید نمی کرده.

اون دو تا موردی که بالا گفتم رو از Class دوم حذف کردم مشکل رفع شد. با تشکر از تمامی دوستان.

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

چرا اینیشالایز رو مخفی کردی؟

این رو بردار @HIDE

ببین درست میشه یا نه؟

سلام ،

درست نشد. + توی سایت مرجع که من مشاهده می کردم این ساب رو Hide کرده بود و همچنین من قبلا با @Hide مشکلی نداشتم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اون hide باید باشه وگرنه _initialize تو متدها توی b4a دیده میشه که اصلا چیز جالبی نیست

پیشنهاد میکنم خود پروژه رو به یکی از اساتید بفرستید این جوری خیلی طول میکشه به جواب برسید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ورودیهای متد initialaize که eventname هم یکیشون باشه باید تو برنامه گرفته بشه تا وقتی raiseEvent میکنی مشکلی پیش نیاد 

رو اکلیپس کلس رو تست میکنم الان ببینم چه مرگشه :malih:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کاظم جان من الان تست کردم هیچ مشکلی نداره و به راحتی کامپایل شد تو بیسیک هم تیکشو زدم و هیچ اروری نداد البته اون hide رو برداشتم کتابخونه رو هم میزارم برات تو بیسیک خودت یه بار بدون initialaize و یه بار با initialaize استفاده کن ببین ارور مروری چیزی میده یا نه من طرز استفادشو نمیدونم

 

ParvaListView.zip

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب خدا رو شکر

فقط کاظم جان حتما initialize رو بزار باشه تا کاربر خودش eventname رو انتخاب کنه یه دفه نیاد و sub ی ایجاد کنه که هم اسم با مال تو باشه اون که نمیدونه تو کتابخونه eventname چی هست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب خدا رو شکر

فقط کاظم جان حتما initialize رو بزار باشه تا کاربر خودش eventname رو انتخاب کنه یه دفه نیاد و sub ی ایجاد کنه که هم اسم با مال تو باشه اون که نمیدونه تو کتابخونه eventname چی هست

سلام ،

EventName طبق نامی که در دیزاینر شما می دید انتخاب می شه. مانند زمانی که یک ListView به دیزاینر اضافه می کنید.

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ورژن جاوا یا اکلیپسی که نصب کردی عوض شده؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ورژن جاوا یا اکلیپسی که نصب کردی عوض شده؟

سلام و تشکر بابت پاسخگویی ،

خیر تغییری نکرده کدها هم مربوط به دو سه روز پیش هست که کامپایل می کردم که درست بود. به نظر خودم مشکل از فایل XML تولید شده هست اما من با Simple Library Compiler دارم کامپایل می کنم و فکر نمی کنم مشکلی به این نرم افزار به وجود بیاد.

با تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کاظم جان Root element is missing. داره میگه یه چیزی از قلم افتاده پروژه دوباره بررسی کن اگه پیدا نکردی مشکل رو کدهاتو بزار ببینیم چیکار کردیه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کاظم جان Root element is missing. داره میگه یه چیزی از قلم افتاده پروژه دوباره بررسی کن اگه پیدا نکردی مشکل رو کدهاتو بزار ببینیم چیکار کردیه

سلام ،

خیلی جستجو کردم از قبل اما مشکلی ندیدم!

public class ParvaListView implements DesignerCustomView {
	private BA ba;
	private String eventName;
	private ListView listView;
	
	
	@Hide
	public void _initialize(BA ba, Object activityClass, String EventName) {
		this.eventName = EventName.toLowerCase(BA.cul);
		this.ba = ba;
	}
	
	public void DesignerCreateView(PanelWrapper base, LabelWrapper lw, Map props) {
		listView = new ListView(ba.context);
		base.setColor(color.transparent);
		
		listView.setOnItemClickListener(new OnItemClickListener()
		{
		    @Override 
		    public void onItemClick(AdapterView<?> parent, View view, int position, long id)
		    {
		    	ba.raiseEvent(this, eventName + "_itemclick", position);
		    }
		});
		
		listView.setOnItemLongClickListener(new OnItemLongClickListener() {

			@Override
			public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
				ba.raiseEvent(this, eventName + "_itemlongclick", position);
				return true;
			}
		});
		
		base.AddView(listView, 0, 0, base.getWidth(), base.getHeight());
	}
لینک ارسال
به اشتراک گذاری در سایت های دیگر

چرا اینیشالایز رو مخفی کردی؟

این رو بردار @HIDE

ببین درست میشه یا نه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...