رفتن به مطلب

محمدرضا شاهپیری

مدیر کل سایت
  • تعداد ارسال ها

    4,060
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    773

پست ها ارسال شده توسط محمدرضا شاهپیری

  1. ۱ ساعت قبل، MrMedia گفته است:

    سلام و خسته نباشید.
    من هم چنان در مشکل دارم و این خطا رو بعد از خرید دریاافت میکنم:

    main$ResumableSub_myb_onIabPurchaseFinishedresume (java line: 4990)
    java.lang.NullPointerException: Attempt to read from field 'anywheresoftware.b4a.BA ir.caller.id.main.activityBA' on a null object reference in method 'void ir.caller.id.main$ResumableSub_myb_onIabPurchaseFinished.resume(anywheresoftware.b4a.BA, java.lang.Object[])'
    	at ir.caller.id.main$ResumableSub_myb_onIabPurchaseFinished.resume(main.java:4990)
    	at ir.caller.id.main._myb_oniabpurchasefinished(main.java:4908)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:205)
    	at com.myketbilling.core.MyketBilling$3.onIabPurchaseFinished(MyketBilling.java:67)
    	at ir.myket.billingclient.util.IAB$1.onReceiveResult(IAB.java:115)
    	at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50)
    	at android.os.Handler.handleCallback(Handler.java:938)
    	at android.os.Handler.dispatchMessage(Handler.java:99)
    	at android.os.Looper.loopOnce(Looper.java:210)
    	at android.os.Looper.loop(Looper.java:299)
    	at android.app.ActivityThread.main(ActivityThread.java:8319)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1038)
    main$ResumableSub_myb_onIabPurchaseFinishedresume (java line: 4990)
    java.lang.NullPointerException: Attempt to read from field 'anywheresoftware.b4a.BA ir.caller.id.main.activityBA' on a null object reference in method 'void ir.caller.id.main$ResumableSub_myb_onIabPurchaseFinished.resume(anywheresoftware.b4a.BA, java.lang.Object[])'
    	at ir.caller.id.main$ResumableSub_myb_onIabPurchaseFinished.resume(main.java:4990)
    	at ir.caller.id.main._myb_oniabpurchasefinished(main.java:4908)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:205)
    	at com.myketbilling.core.MyketBilling$3.onIabPurchaseFinished(MyketBilling.java:67)
    	at ir.myket.billingclient.util.IAB$1.onReceiveResult(IAB.java:115)
    	at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50)
    	at android.os.Handler.handleCallback(Handler.java:938)
    	at android.os.Handler.dispatchMessage(Handler.java:99)
    	at android.os.Looper.loopOnce(Looper.java:210)
    	at android.os.Looper.loop(Looper.java:299)
    	at android.app.ActivityThread.main(ActivityThread.java:8319)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1038)

    در حال دیباگ اصلا مشکلی برای خرید و خرج کردن ندارم ولی در حالت Release و Release (obfuscated) خطا بالا رو میده
     

    یه متد جداگونه بنویسید واسه مصرف کردن خرید  بعد توی onIabPurchaseFinished با دستور calsubdelayed اونو صدا بزنید ببینید اکی میشه یا نه‌ نتیجه رو اعلام کنید لطفا

  2. ۱ ساعت قبل، امیرحسین قاسمی گفته است:

    سلام

    تفاوت این نسخه با نسخه قبلی چی هست؟

    من برای برنامه خودم چند روز قبل با نسخه قدیمی کتابخونه آپدیت دادم. ممکنه مشکلی پیش بیاد؟

    نسخه قبل مشکل داشت و اینکه روی نسخه ۱.۴ مایکت بود. نسخه فعلی مشکلات رفع شده و به نسخه ۱.۶ که نسخه آخر مایکت هست به روز شده. حتما به نسخه جدید آپدیت کنید

    • تشکر 1
  3. در ۱۴۰۲/۶/۲۷ در ۰۴:۲۲، MrMedia گفته است:

    سلام و ممنون بابت کتابخونه خوبتون
    من برای مصرف خرید مشکل دارم و از روش هایی که در این پست گفتید هم استفاده کردم.
    ولی به خطا میخورم و به محض اجرای ساب
     

    Private Sub myket_onIabPurchaseFinished(result As IabResult,purchase As Purchase)

    به خطای زیر بر میخورم.
     

    و جوری که متوجه شدم مقدار خالی به این ساب بر میگرده، به خط 4 توجه کنید.
    در ضمن اگه زیر پستتون هم از لینک حامی باش یا پرداخت آزاد برای کمک مالی استفاده کنید خیلی خوب میشه تا همه بتونن در صورت تمایل به پروژه کمک کنن
     

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

    • پسندیدن 1
    • تشکر 2
  4. ۴ ساعت قبل، yare۳۱۳ yare۳۱۳ گفته است:

    سلام بنده با استفاده از کتابخانه persianFastNetwork می خوام یک سری اطلاعات که داخل یک map ریخته شده را به یک فایل php داخل هاست بفرستم که داخل دیتابیس Record کنه لذا باید از post استفاده کنم اما چطور پارمتر های map را برای ارسال به متغییر persianFastNetwork بریزم، در واقع روش post کردن با این کتابخانه را می خوام.

    کد مثال:

    map.Initialize
                map.Clear
                map.Put("name",edittextN_name.Text)
                map.Put("phone",edittextN_num.Text)
                map.Put("password",edittextN_pass.Text)

    و ارسال اینها 

    سلام و درود. این موارد توی آموزشها هست

    Dim post As PostRequest
    post=prfn.BuildPostQuery("url","tag")
    post.addParametrs("ke1","value1")
    post.addParametrs("ke2","value2")
    post.addParametrs("ke3","value3")

     

  5. ۶ ساعت قبل، batman۱۲۳ گفته است:

    سلام.

    ببخشید استاد اگه این تغغیراتی که توی آموزش گفتید رو در پوشه های sdk ایجاد کنیم، برای کامپایل برنامه های دیگمون مشکلی ایجاد نمیشه؟

    سلام. نسخه 3 رو دانلود کنید و همچنین نسخه b4a و sdk هم نسخه آخر باشه فک کنم دیگه نیازی به تغییر sdk نیست

    • تشکر 1
  6. 15 ساعت قبل، MrMedia گفته است:

    سلام من از آخرین نسخه کتابخونه استفاده میکنم ولی متد 

    WithTimeOut

    برام کار نمی کنه
    کدم هم اینه

     

    Dim fn As FastNetSetup
    Dim Request As PersianFastNetwork
    
    fn.SetupFastNet.WithSSL.WithTLS.WithCookieManager.WithTimeOut(10000).Build
    Request.initialize("fn")
    GetRequest = Request.BuildGetQuery("sample_url","sample_tag")
    GetRequest.addHeader("sample_header")).executRequest
    wait For fn_onSucsess(value As String , Tag As Object )
    'my code...
    
    Sub fn_onError(Error As ResponseError , Tag As Object)
    		Log(Error.ErrorMsage)
    End Sub

    این مشکل باعث شده لودینگ برنامه که قبل درخواست فرستادن نشون میدم و تایم اوت کار نمیکنه نمی تونم مخفیش کنم و لودینگ دائما بچرخه و همین باعث شده کافه بازار به برنامم اشکال بگیره

     

    سلام و درود. از wait For استفاده نکنید. متدهای success  و  error رو به صورت ایونت پیاده کنید. تایم اوت رو هم بالا بزارید یک دیقه معمولا میزارن

  7. 19 ساعت قبل، مهدی عزیزی گفته است:

    همچنان ارور میده و برنامه بسته میشه

    ارور:

    *** Service (starter) Create ***
    ** Service (starter) Start **
    ** Activity (main) Create, isFirst = true **
    ** Activity (main) Resume **
    main_button1_click (java line: 368)
    android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@3da9f19 -- permission denied for this window type
    	at android.view.ViewRootImpl.setView(ViewRootImpl.java:591)
    	at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
    	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
    	at com.toast.libs.AchievementUnlocked.buildAchievement(AchievementUnlocked.java:477)
    	at com.toast.libs.AchievementUnlocked.build(AchievementUnlocked.java:304)
    	at com.toast.core.AriaToast.Build(AriaToast.java:78)
    	at b4a.example.testt.main._button1_click(main.java:368)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
    	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197)
    	at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
    	at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
    	at android.view.View.performClick(View.java:5204)
    	at android.view.View$PerformClick.run(View.java:21153)
    	at android.os.Handler.handleCallback(Handler.java:739)
    	at android.os.Handler.dispatchMessage(Handler.java:95)
    	at android.os.Looper.loop(Looper.java:148)
    	at android.app.ActivityThread.main(ActivityThread.java:5420)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    

     

    به جای کد زیر

    toast.requestDrawPermission

    از روش زیر استفاده کنید. اول متد زیر رو به اکتیویتی اضافه کنید

    #if java
      import android.content.Context;
      import android.content.Intent;
      import android.net.Uri;
      import android.os.Build;
      import android.provider.Settings;
      public void requestDrawPermission() {
            Context context = BA.applicationContext;
            if (Build.VERSION.SDK_INT > 23 && !Settings.canDrawOverlays(context)) {
                Intent intent = new Intent(
                        Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                        Uri.parse("package:" + context.getPackageName())
                );
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(intent);
            }
        }
    #end if

    حالا کتابخونه javaobject رو تیک بزنید و به شکل زیر متد رو صدا بزنید

    Dim jo As JavaObject
    jo.InitializeContext.RunMethod("requestDrawPermission",Null)

     

    • پسندیدن 1
    • تشکر 1
  8. 9 ساعت قبل، مهدی عزیزی گفته است:

    سلام مجدد

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

     

    این هم کد:

    #Region  Project Attributes 
    	#ApplicationLabel: B4A Example
    	#VersionCode: 1
    	#VersionName: 
    	'SupportedOrientations possible values: unspecified, landscape or portrait.
    	#SupportedOrientations: unspecified
    	#CanInstallToExternalStorage: False
    #End Region
    
    #Region  Activity Attributes 
    	#FullScreen: False
    	#IncludeTitle: True
    #End Region
    
    Sub Process_Globals
    	
    End Sub
    
    Sub Globals
     	Dim toast As AriaToast
    End Sub
    
    Sub Activity_Create(FirstTime As Boolean)
    	Activity.LoadLayout("Layout")
    End Sub
    
    Sub Activity_Resume
    
    End Sub
    
    Sub Activity_Pause (UserClosed As Boolean)
    
    End Sub
    
    Sub Button1_Click
    	 
    	toast.Initialize("toast").Title("test").Icon(LoadBitmap(File.DirAssets,"caution1.png")).Show
    
    End Sub

     

    شما متد Build رو صدا نزدین. قبل از نمایش باید این متد رو صدا بزنید که ویوها ساخته بشه. کدتون به شکل زیر باید باشه

    toast.Initialize("toast").Title("test").Icon(LoadBitmap(File.DirAssets,"caution1.png")).Build.Show

    قبل از همه چیز هم باید متد زیر رو صدا بزنید و دسترسی ترسیم رو بگیرید

    toast.requestDrawPermission

     

    • پسندیدن 1
  9. در ۱۴۰۲/۵/۱۸ در 18:50، مهدی عزیزی گفته است:

    سلام و خسته نباشید 

    اول ممنونم از شما بابت این کتابخانه عالی 

    اما من نمیتونم ازش استفاده کنم برنامه هنگام اجرا فورس کلوز میکنه

    لطفا ممکنه یک سورس نمونه که تست شده ارسال بفرمایید

    سلام. چه خطایی دریافت میکنید؟

     

  10. 13 ساعت قبل، Amir - B گفته است:

    سلام استاد

    آیا این امکان وجود داره از DsTabLayout برای ویوپیجر ریسایکلر ویو استفاده کنیم؟

    و استاد در مورد سوال قبلیم، من همچنان disableItemChangeAnimation  رو نتونستم پیدا کنم. چیکار باید انجام بدم؟

    ممنون

    سلام و درود. از اونجایی که DsTabLayout از نسخه ساپورت استفاده میکنه و کتابخونه قدیمی و منسوخ شده هست و ریسایکلر ویو نسخه androidX هست احتمال اینکه تداخل داشته باشن خیلی زیاده. من که اصلا نتونستم از DsTabLayout  استفاده کنم چون خطا میده و کامپایل نمیشه. اما اگه تداخل نداشته باشن به نظرم میتونید با هم استفاده کنید. به دوتا متد زیر توجه کنید

    Private Sub prrecycler_onScrollStateChanged(newState As Int)
    	If newState==prRecycler.SCROLL_STATE_IDLE Then
    		If prRecycler.AdapterPosition<>-1 Then
    			dsTabLayout.SelectTab(prRecycler.AdapterPosition)
    		End If
    	End If
    End Sub
    Private Sub dstab_TabSelected(Index As Int, SelectedTab As String, Tag As Object)
    	prRecycler.scrollToPosition(Index)
    End Sub

    درمورد سوال دوم هم که عرض شد. متد رو باید مستقیم از خود ریسایکلر صدا بزنید

    prRecycler.disableItemChangeAnimation

     

    • تشکر 1
  11. سلام به همه برنامه نویسای عزیز. بعد مدتها یه آموزش بزاریم کیف کنیم:eynak:

    همونطور که مطلع هستید بازار خیلی وقته درون پرداخت رو با پولکی انجام میده و این کتابخونه مخصوص کاتلین هست و به راحتی نمیتونید اونو مستقیم توی جاوا استفاده کنید. برا همین یه کلاس واسط که به اصطلاح از دیزاین پترن پ * ر * و * ک *س * ی استفاده شده برای دوستان آماده کردیم که راحت بتونن اونو توی جاوا استفاده کنن. دقت کنید که حتما باید کاتلین توی پروژه ست شده باشه. کلاس کاتلین زیر رو به پروژه اضافه کنید و اسمشو PoolakeyWrapper بزارید.

    package com.example.myapplication
    
    import android.content.Context
    import androidx.activity.result.ActivityResultRegistry
    import ir.cafebazaar.poolakey.Connection
    import ir.cafebazaar.poolakey.Payment
    import ir.cafebazaar.poolakey.config.PaymentConfiguration
    import ir.cafebazaar.poolakey.config.SecurityCheck
    import ir.cafebazaar.poolakey.entity.PurchaseInfo
    import ir.cafebazaar.poolakey.request.PurchaseRequest
    
    /**
     * Created by Mohamadreza Shahpiri on 6/18/2023.
     * Answercenter.ir
     ***************************************************
     */
    class PoolakeyWrapper(
        publicKey: String,
        context: Context,
    ) {
        private val securityCheck = SecurityCheck.Enable(rsaPublicKey = publicKey)
        private val paymentConfig = PaymentConfiguration(localSecurityCheck = securityCheck)
        private val payment = Payment(context = context.applicationContext, config = paymentConfig)
        private var connection:Connection?=null
        fun connect(connectionCallback: ConnectionCallback){
            connection=payment.connect {
                connectionSucceed{
                    connectionCallback.connectionSucceed()
                }
                connectionFailed {
                    connectionCallback.connectionFailed(it)
                }
                disconnected {
                    connectionCallback.disconnected()
                }
            }
        }
        fun purchaseProduct(registry: ActivityResultRegistry,request: PurchaseRequest,purchaseCallback: PurchaseCallback){
            payment.purchaseProduct(registry,request){
                purchaseFlowBegan {
                    purchaseCallback.purchaseFlowBegan()
                }
                failedToBeginFlow {
                   purchaseCallback.failedToBeginFlow(it)
                }
                purchaseSucceed {
                   purchaseCallback.purchaseSucceed(it)
                }
                purchaseCanceled {
                    purchaseCallback.purchaseCanceled()
                }
                purchaseFailed {
                    purchaseCallback.purchaseFailed(it)
                }
            }
        }
        fun subscribeProduct(registry: ActivityResultRegistry,request: PurchaseRequest,purchaseCallback: PurchaseCallback){
            payment.subscribeProduct(registry,request){
                purchaseFlowBegan {
                    purchaseCallback.purchaseFlowBegan()
                }
                failedToBeginFlow {
                    purchaseCallback.failedToBeginFlow(it)
                }
                purchaseSucceed {
                    purchaseCallback.purchaseSucceed(it)
                }
                purchaseCanceled {
                    purchaseCallback.purchaseCanceled()
                }
                purchaseFailed {
                    purchaseCallback.purchaseFailed(it)
                }
            }
        }
        fun consumeProduct(purchaseToken: String,consumeCallback: ConsumeCallback){
            payment.consumeProduct(purchaseToken){
                consumeSucceed {
                   consumeCallback.consumeSucceed()
                }
                consumeFailed {
                    consumeCallback.consumeFailed(it)
                }
            }
        }
        fun getPurchasedProducts(queryCallback: QueryCallback){
            payment.getPurchasedProducts {
                querySucceed {
                   queryCallback.querySucceed(it)
                }
                queryFailed {
                    queryCallback.queryFailed(it)
                }
            }
        }
        fun getSubscribedProducts(queryCallback: QueryCallback){
            payment.getSubscribedProducts {
                querySucceed {
                    queryCallback.querySucceed(it)
                }
                queryFailed {
                    queryCallback.queryFailed(it)
                }
            }
        }
        fun disconnect(){
            connection?.disconnect()
        }
        interface ConnectionCallback{
            fun connectionSucceed()
            fun connectionFailed(throwable:Throwable)
            fun disconnected()
        }
        interface PurchaseCallback{
            fun purchaseFlowBegan()
            fun failedToBeginFlow(throwable:Throwable)
            fun purchaseSucceed(info: PurchaseInfo)
            fun purchaseCanceled()
            fun purchaseFailed(throwable:Throwable)
        }
        interface ConsumeCallback{
            fun consumeSucceed()
            fun consumeFailed(throwable:Throwable)
        }
        interface QueryCallback{
            fun querySucceed(items:List<PurchaseInfo>)
            fun queryFailed(throwable:Throwable)
        }
    }

     

    حالا توی جاوا به شکل زیر ازش استفاده کنید.

    مثلا برای اینشیالایز.

           PoolakeyWrapper poolakeyWrapper=new PoolakeyWrapper("publicKey",this);
            poolakeyWrapper.connect(new PoolakeyWrapper.ConnectionCallback() {
                @Override
                public void connectionSucceed() {
    
                }
                @Override
                public void connectionFailed(@NonNull Throwable throwable) {
    
                }
                @Override
                public void disconnected() {
    
                }
            });

     

    و برای خرید

           PurchaseRequest purchaseRequest=new PurchaseRequest(
                          "productId","payload","dynamicPriceToken"
                  );
            poolakeyWrapper.purchaseProduct(getActivityResultRegistry(), purchaseRequest, new PoolakeyWrapper.PurchaseCallback() {
                @Override
                public void purchaseFlowBegan() {
    
                }
    
                @Override
                public void failedToBeginFlow(@NonNull Throwable throwable) {
    
                }
    
                @Override
                public void purchaseSucceed(@NonNull PurchaseInfo info) {
    
                }
    
                @Override
                public void purchaseCanceled() {
    
                }
    
                @Override
                public void purchaseFailed(@NonNull Throwable throwable) {
    
                }
            });

     

    بقیه متدها رو هم به راحتی میتونید استفاده کنید.

    مانا باشید :answercenter:

    • پسندیدن 1
    • تشکر 1
  12. در ۱۴۰۲/۳/۱۴ در 23:09، Amir - B گفته است:

    سلام استاد

    ببخشید دو سوال داشتم

    چطور میتونیم خاکستری شدن رنگ هر ایتم ریسایکلر ویو موقع پرس کردن هر ایتم رو تغییر بدیم؟ یا خاکستری شدنش رو غیر فعال کنیم؟ 

    چطور میتونیم پوزیشن اسکرول ریسایکلر ویو رو بدست بیاریم؟

    ممنون

    سلام ودرود.

    درمورد مشکل اول دستور disableItemChangeAnimation  رو تست کنید و در مورد مسأله دوم دستور AdapterPosition

    • پسندیدن 1
  13. 22 ساعت قبل، Amir - B گفته است:

    سلام استاد شاهپیری

    ببخشید لینک آموزش درسته؟

    من نمیتونم دریافتش کنم

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

  14. 12 ساعت قبل، Alizadeh.arash گفته است:

    با سلام موقع بیلد کردن برنامه پیغام :

    Maven artifact not found: androidx.activity/activity-compose-samples
    Source: PersianRecyclerView

    میده که هیچ جا نتونستم پیداش کنم حتی تو sdk manager

    الان باید چکارکنم؟

    سلام و درود.

    آخرین نسخه بیسیک و sdk رو از سایت مرجع بگیرید و پروژه رو ران کنید

  15. در ۱۴۰۱/۱۲/۲۲ در 21:01، Forutan گفته است:

     

    ممنون میشم مهندس اگر توی اینروزا زحمتش رو بکشید پروژه ای داشتم قبلا منتشر شده الان چندماهه توسط بازار تعلیق و از انتشار خارج شده الان که میخوا آپدیت بدم یکی از مشکلاتش مربوط به این کتابخونه هست که برنامه متوقف میشه

    اگر امکانش هست این یکی دو روز وقت‌ بزارید بروزرسانی کنید، خدا خیرتون بده

    سلام و درود.

    کتابخونه بروزرسانی شد. نسخه 2.1. از فلگ FLAG_IMMUTABLE باید استفاده کنید

    • تشکر 1
  16. 2 ساعت قبل، morteza najafi گفته است:

    سلام وقت بخیر

    من وقتی کتابخانه PersianRecyclerView و ChromCustomTabs را توی یک پروژه استفاده میکنم

    برنامه اجرا میشه ولی وقتی به مرحله استفاده از ChromCustomTabs میشه از برنامه میپره بیرون

     

    و این خطا رو میده

    چطور میتونم این مشکل را برطرف کنم?

     

    از نسخه 11.50 بیسیک استفاده میکنم

    سلام و درود.

    از خطا مشخصه که کتابخونه ChromCustomTabs داره از پکیجهای قدیمی support استفاده میکنه. باید نسخه به روز کتابخونه رو بگیرید یا اینکه jetifireکنید

  17. 20 ساعت قبل، ali reza گفته است:

    با سلام و خسته نباشید 

    با اضاف کردن کد     Extends : androidx.appcompat.app.AppCompatActivity# 

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

    نسخه b4a :12.2 هست و از api 33  استفاده میکنم و تمام موارد گفته شده در اموزش رو هم انجام دادم اما در اجرای سورسی که گذاشتید هم همین مشکل پیش میاد 

    سلام و درود. نسخه آخر sdk رو از سایت مرجع دانلود و جایگزین کنید و api رو برای b4a روی ۳۱ بزارید

    • پسندیدن 1
×
×
  • اضافه کردن...