نمایش نتایج 1 تا 18 از 18

نام تاپیک: هنگ کردن نرم افزار به هنگام کار در بک گرند

  1. #1

    هنگ کردن نرم افزار به هنگام کار در بک گرند

    با سلام و درود خدمت دوستان عزیز

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

                        TextBox1.AppendText(Environment.NewLine & Fastboot.ExecuteFastbootCommand(Fastboot.FormFastb  ootCommand("flash boot", textboxboot.Text)))



    عملیات رایت رو انجام میده ولی تا زمان رایت ، نرم افزار هنگ میمونه بعد از رایت خروجی کار رو روی TEXTBOX نشون میده و نرم افزار از حالت هنگ خارج میشه ...

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

    من این سوال رو از دوست هندیم پرسیدم گفت این رو توی گوگل جستجو کن :
    Kpstv, [۱۵.۱۰.۱۷ ۱۵:۲۹]
    Umm add an event handler to capture real time output


    Kpstv, [۱۵.۱۰.۱۷ ۱۵:۲۹]
    Searvj on google


    ILYA20, [۱۵.۱۰.۱۷ ۱۵:۳۰]
    excuse me
    I really did not understand


    Kpstv, [۱۵.۱۰.۱۷ ۱۵:۳۱]
    Search on Google 'how to capture real time output of process using event handler VB'
    راهنمایی لطفا

  2. #2

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    اگر شما در محیط ویژوال استادیو کار میکنید میتونید این دستور رو درون BackgroundWorker بنویسید یا با Threading این کار رو انجام بدین.البته نظرات دوستان قطعا بهتر خواهد بود

  3. #3

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    نقل قول نوشته شده توسط hamidrezax1 مشاهده تاپیک
    اگر شما در محیط ویژوال استادیو کار میکنید میتونید این دستور رو درون BackgroundWorker بنویسید یا با Threading این کار رو انجام بدین.البته نظرات دوستان قطعا بهتر خواهد بود
    ممنون عزیز
    بله بنده ویژوال استادیو کار میکنم
    میتونید یک مثال بزنید

  4. #4

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    دوست عزیز در فرمت دو عدد باتن قرار بده و دو لیبل به مقدارشون تکست اونها صفر باشه اونوقت این دستورات کپی کن
    Public Class Form1    Dim a As New Threading.Thread(AddressOf H1)
    Dim i As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    CheckForIllegalCrossThreadCalls = False
    a.Start()
    End Sub
    Private Sub H1()




    For i = Me.Label1.Text To 100000
    Me.Label1.Text = i
    If Me.Label2.Text = 2 Then
    MsgBox("سلام")
    Me.Label2.Text = 0
    End If


    Application.DoEvents()
    Next




    End Sub


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Me.Label2.Text = 2


    End Sub
    End Class

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

  5. #5

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    ببخشید دوست عزیز موضوع کمی برام گنگ شد (ما که تازه کاریم )

    تو پروژه ما نیازی به لیبل نیست شما فرض کنید یک دکمه هست که آدرس فایل را از تکست باکس میگیره و عملیات رایت فایل را روی دستگاه انجام میده از دستور شما سر در نیاوردم و نتونستم به عنوان مثال هم ازش بهره ببرم

  6. #6
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    ایران
    پست
    372

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    نقل قول نوشته شده توسط ILYA20 مشاهده تاپیک
    ببخشید دوست عزیز موضوع کمی برام گنگ شد (ما که تازه کاریم )

    تو پروژه ما نیازی به لیبل نیست شما فرض کنید یک دکمه هست که آدرس فایل را از تکست باکس میگیره و عملیات رایت فایل را روی دستگاه انجام میده از دستور شما سر در نیاوردم و نتونستم به عنوان مثال هم ازش بهره ببرم

    سلام
    شما سورس پروژه رو ارسال کن ، تا راحت تر بشه راهنمایی کرد.

    اگه ما با فرضیات خودمون بخواهیم مثال بزنیم ، موضوع گنگ میشه

  7. #7

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    نقل قول نوشته شده توسط 336699 مشاهده تاپیک
    سلام
    شما سورس پروژه رو ارسال کن ، تا راحت تر بشه راهنمایی کرد.

    اگه ما با فرضیات خودمون بخواهیم مثال بزنیم ، موضوع گنگ میشه
    بفرمایید


    Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
    TextBox1.Clear()
    If PictureBox1.BackColor = Color.GreenYellow Then
    If Trim(TextBoxsideload.Text).Length > 0 Then
    TextBox1.AppendText(Environment.NewLine & Adb.ExecuteAdbCommand(Adb.FormAdbCommand("sideload ", TextBoxsideload.Text)))

  8. #8
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    ایران
    پست
    372

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

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


    Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
    TextBox1.Clear()
    If PictureBox1.BackColor = Color.GreenYellow Then
    If Trim(TextBoxsideload.Text).Length > 0 Then
    TextBox1.AppendText(Environment.NewLine & Adb.ExecuteAdbCommand(Adb.FormAdbCommand("sideload ", TextBoxsideload.Text)))
    یعنی کل برنامه شما همین سه خطه

    کل پروژه رو zip کنید بفرستید .

    در ضمن بسته به اینکه ورژن دانت نت مورد استفاده چند هستش ، کدها متفاوت خواهد بود.

  9. #9

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

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

    کل پروژه رو zip کنید بفرستید .

    در ضمن بسته به اینکه ورژن دانت نت مورد استفاده چند هستش ، کدها متفاوت خواهد بود.
    به عنوان نمونه کاملش رو جدا ایجاد کردم
    خدمت شما


    Imports System.IO
    Imports System.IO.Path
    Imports System.Threading.Tasks
    Imports System.Diagnostics
    Imports System.Net
    Imports System.ComponentModel
    Imports RegawMOD.Android
    Public Class Form1
    Dim android As AndroidController
    Dim device As Device
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    OpenFileDialog1.FileName = "Select flashable.zip File"
    OpenFileDialog1.Filter = "Zip File|*.zip"
    If OpenFileDialog1.ShowDialog = DialogResult.OK Then
    TextBox2.Text = OpenFileDialog1.FileName
    'Me.TextBoxsideload.Text = Me.TextBoxsideload.Text.Replace(" ", "")
    TextBox2.Enabled = True
    End If
    End Sub


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    TextBox1.Clear()
    If Trim(TextBox2.Text).Length > 0 Then
    TextBox1.AppendText(Environment.NewLine & Adb.ExecuteAdbCommand(Adb.FormAdbCommand("sideload ", TextBox2.Text)))
    Else
    TextBox1.AppendText(Environment.NewLine & "You have not selected a file. Please select a file then try again")
    End If
    End Sub
    End Class




    متاسفانه نمیتونیم بسته رو اپلود کنیم برای تست و راه اندازی الگوریتم هامون روی دستگاه خیلی وقت گذاشتیم

  10. #10

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

     Dim a As New Threading.Thread(AddressOf H1)    Dim i As Integer
    Private Sub H1()
    TextBox1.AppendText(Environment.NewLine & Adb.ExecuteAdbCommand(Adb.FormAdbCommand("sideload ", TextBox2.Text)))
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    TextBox1.Clear()
    If Trim(TextBox2.Text).Length > 0 Then


    CheckForIllegalCrossThreadCalls = False
    a.Start()
    Else
    TextBox1.AppendText(Environment.NewLine & "You have not selected a file. Please select a file then try again")
    End If
    End Sub

  11. #11

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    نقل قول نوشته شده توسط hamidrezax1 مشاهده تاپیک
     Dim a As New Threading.Thread(AddressOf H1)    Dim i As Integer
    Private Sub H1()
    TextBox1.AppendText(Environment.NewLine & Adb.ExecuteAdbCommand(Adb.FormAdbCommand("sideload ", TextBox2.Text)))
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    TextBox1.Clear()
    If Trim(TextBox2.Text).Length > 0 Then


    CheckForIllegalCrossThreadCalls = False
    a.Start()
    Else
    TextBox1.AppendText(Environment.NewLine & "You have not selected a file. Please select a file then try again")
    End If
    End Sub
    با تشکر از شما عزیز


    مشکل حل شد
    آخرین ویرایش به وسیله ILYA20 : شنبه 06 آبان 1396 در 13:17 عصر

  12. #12

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    دوستان عزیز این دستور یک مشکلی داره

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

    بعد از اتمام پروسه Thread اگر بخوابم دوباره دستور را با استفاده از دکمه اجرا کنیم برای پروسه خطا میگیره

    من فکر میکنم بعد از استارت Thread اجرا باقی میمونه به همین خاطر برای استارت آن خطا میگیره ... چطوری میشه بعد از اتمام پروسه thread اون رو بست ؟

  13. #13

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

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

  14. #14

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

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

    فرض کنید یک دکمه به فرم تعریف کردیم که با کلیک روی اون thread اجرا میشه و کارشو انجام میده

    برای بار اول که کلیک کردیم هیچ مشکلی نداره thread اجرا میشه و کارشو میکنه

    اما بعد از اتمام پروسه thread ... بخوایم دوباره کلیک کنیم تا thread دوباره کاری که تعریف کردیم را انجام بده خط thread1.start() خطا میگیره و کار نمیکنه و باید نرم افزار را ببندیم و دوباره باز کنیم تا بتونیم ازش استفاده کنیم

  15. #15

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    منظور من اینه که این کلیک زمانش مشخصه یا نه؟؟؟

  16. #16

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

    نقل قول نوشته شده توسط hamidrezax1 مشاهده تاپیک
    منظور من اینه که این کلیک زمانش مشخصه یا نه؟؟؟
    خیر
    مثلا کاربر به دلخواه میخواد بعد از انجام اولین کار دوباره اینکارو انجام بده خب اونوقت به مشکل برمیخوره

  17. #17

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

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

  18. #18

    نقل قول: هنگ کردن نرم افزار به هنگام کار در بک گرند

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

    هنگی نرم افزار مهم نیست از backgroundworker استفاده میکنم و چون بکگرند ورکر خروجی کار رو روی تکست باکس چاپ نمیکنه برای بک گرند ورکر از thread استفاده کردم این thread هم این مشکل رو داره

    جز thread از گزینه دیگری میتونیم استفاده کنیم؟

تاپیک های مشابه

  1. اضافه کردن نرم افزار به پروژه
    نوشته شده توسط Sia.N3T در بخش VB.NET
    پاسخ: 4
    آخرین پست: پنج شنبه 26 دی 1392, 13:36 عصر
  2. پاسخ: 5
    آخرین پست: پنج شنبه 04 مهر 1392, 12:10 عصر
  3. سوال: اجرای نرم افزار به صورت پروسس در پس زمینه
    نوشته شده توسط mamad-pc در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: شنبه 23 شهریور 1392, 22:37 عصر
  4. پاسخ: 3
    آخرین پست: جمعه 07 اسفند 1388, 22:39 عصر
  5. پاسخ: 1
    آخرین پست: چهارشنبه 07 بهمن 1388, 22:26 عصر

قوانین ایجاد تاپیک در تالار

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