ارور overflow

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • Nima

    • 2011/07/22
    • 385

    ارور overflow

    با سلام

    میشه دوستان راهنمائی کننئ که مشکل کد زیر چیه که ارور overflow میده:

    کد PHP:
    Private Sub CommandButton16_Click()
    ListBox4.Clear
    TextBox28
    .SetFocus
    Dim a 
    As Range
    For Each a In Sheet4.Range("Q2:Q50000")
        If 
    a.Value <> "" And a.Value TextBox28.Text Then
            ListBox4
    .AddItem a.Offset(0, -15).Value
            
    For 1 To 2
                ListBox4
    .List(ListBox4.ListCount 1i) = a.Offset(04).Value
            Next
        End 
    If
    Next
    End Sub 
    [CENTER][COLOR=#ff0000]************************************[/COLOR]
    No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
    [COLOR=#ff0000]************************************[/COLOR]

    [/CENTER]
  • Majid_Mahoor

    • 2012/06/25
    • 7

    #2
    RE: ارور overflow

    با سلام
    كد شما ظاهرا مشكلي نداره
    مطمئن هستيد كه پيغام خطا براي اين كد ظاهر ميشه؟
    بياييد تغيير را از خود آغاز كنيم

    کامنت

    • Nima

      • 2011/07/22
      • 385

      #3
      RE: ارور overflow

      نوشته اصلی توسط Majid_Mahoor
      با سلام
      كد شما ظاهرا مشكلي نداره
      مطمئن هستيد كه پيغام خطا براي اين كد ظاهر ميشه؟
      بله خطا مربوط به خط زیر میشه:
      کد PHP:
      If a.Value <> "" And a.Value TextBox28.Text Then 
      [CENTER][COLOR=#ff0000]************************************[/COLOR]
      No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
      [COLOR=#ff0000]************************************[/COLOR]

      [/CENTER]

      کامنت

      • Nima

        • 2011/07/22
        • 385

        #4
        RE: ارور overflow



        از اساتید محترم کسی هست نظر دیگه ای داشته باشه؟؟

        [CENTER][COLOR=#ff0000]************************************[/COLOR]
        No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
        [COLOR=#ff0000]************************************[/COLOR]

        [/CENTER]

        کامنت

        • Javid Mokhtari
          مدير تالار ويژوال بيسيك

          • 2012/01/16
          • 1212
          • 73.00

          #5
          RE: ارور overflow

          نوشته اصلی توسط nima


          از اساتید محترم کسی هست نظر دیگه ای داشته باشه؟؟

          با سلام.
          لطفاً فایل رو بذارین.
          [FONT=Tahoma][INDENT][CENTER][SIZE=3][FONT=courier new][B][FONT=comic sans ms][SIZE=3][FONT=arial]دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
          بیش از [COLOR=#008000]60[/COLOR] جلسه آموزش ویدئویی رایگان

          شرکت در دوره:
          [/FONT][/SIZE]
          [SIZE=5] [FONT=Tahoma][FONT=courier new][B][URL]https://javidsoft.ir/courses/[/URL][/B][/FONT][/FONT][/SIZE][/FONT]
          [/B][/FONT][/SIZE]
          [/CENTER]
          [/INDENT]
          [/FONT]

          کامنت

          • Nima

            • 2011/07/22
            • 385

            #6
            RE: ارور overflow

            نوشته اصلی توسط jansiz hayat
            نوشته اصلی توسط nima


            از اساتید محترم کسی هست نظر دیگه ای داشته باشه؟؟

            با سلام.
            لطفاً فایل رو بذارین.
            افا جاوید

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

            PLEASE HELP..
            [CENTER][COLOR=#ff0000]************************************[/COLOR]
            No [COLOR=#32CD32][B]LION's [/B][/COLOR]roar ruins my hut, I afraid of [COLOR=#ff0000][B]TERMITE's [/B][/COLOR]silence
            [COLOR=#ff0000]************************************[/COLOR]

            [/CENTER]

            کامنت

            • ~M*E*H*D*I~
              • 2011/10/19
              • 4377
              • 70.00

              #7
              RE: ارور overflow

              این ارور زمانی پیش میاد که مثلا یک حلقه خیلی بزرگ ایجاد کنید یا مثلا یک متغیر از نوع اینتجر تعریف کنید ولی عددی از نوع دابل یا لانگ بهش تخصیص بدی
              [CENTER]
              [SIGPIC][/SIGPIC]
              [/CENTER]

              کامنت

              • m_d6712

                • 2010/05/22
                • 174

                #8
                RE: ارور overflow

                خیلی چیز ها در زبان برنامه نویسی overflow می کنه.
                stack over flow?
                heap over flow?
                buffer overflow?
                stack buffer over flow?
                range overflow
                variable overflow

                البته لزوما همه اینها در vba وجود نداره.
                اگر متن کامل ایراد رو بزاری بهتر میشه کمک کرد.
                -------
                [url=http://md6712.com]http://md6712.com[/url]
                جامعه ایده پردازان: http://idekadeh.com

                کامنت

                • mahsa shayesteh

                  • 2011/12/07
                  • 272

                  #9
                  RE: ارور overflow

                  سلام به دوستای گلم
                  برای این ارورها ایا مرجعی هم هست تو نت خیلی پراکنده گفته شده
                  [color=#FF0000]در روزگاری که لبخند ادمها بخاطر شکست توست برخیز تا بگریند[/color]

                  کامنت

                  • m_d6712

                    • 2010/05/22
                    • 174

                    #10
                    RE: ارور overflow

                    نوشته اصلی توسط mahasa shayesteh
                    سلام به دوستای گلم
                    برای این ارورها ایا مرجعی هم هست تو نت خیلی پراکنده گفته شده
                    سلام! من خیلی مختصر سعی می کنم توضیح بدم.
                    وقتی overflow اتفاق می افتد شما از یک فضای حافظه که برای شما تخصیص داده شده خارج شدید. وقتی شما متغیر تعریف می کنید. اگر متغیر شما به صورت استاتیک تعریف بشود در محیط stack آدرس این متغیر ذخیره می شود. حال اگر متغیر شما یک آرایه با تعداد بعد بالا و سایز ابعاد شما زیاد باشد. مثلا اگر آرایه ای 1000*10*1000 به صورت استاتیک تعریف کنید stack overflow اتفاق می افتد. دقتی که باید بکنید این مساله هست که 100*10 و 10*100 از نظر ساختار stack با هم متفاوت هستند. به این معنی که در حالت اول 10 آدرس در stack ذخیره می شود در حالی که در حالت دوم 100 آدرس در stack ذخیره می شود. با این حال ممکن است هیچ آرایه ای تعریف نکنید ولی stack overflow داشته باشید. مثلا استفاده از یک تابع بازگشتی با عمقی بالای 1000 لایه (اگر تابع دارای آرگومان و مقدار بازگشتی باشد) معمولا باعث stack overflow می شود.

                    heap خیلی شبیه stack هست. البته از نظر نوع ساختار و نحوه دسترسی و مشخصات تفاوت هایی دارد که اگر دوست داشتید اطلاعات زیادی در نت موجود است. اما در heap اطلاعات و آدرس متغیر های داینامیک و اشیا و از این جور اطلاعات حافظه ذخیره می شود. معمولا heap از نظر اندازه بسیار بزرگتر از stack هست. بیشتر برنامه نویسی مستقیم با حافظه داینامیک باعث ایجاد heap overflow می شود. دوستانی که با c++ کار کردند حتما با این مشکل مواجه شدند. اما این دلیل نمی شود که در زبانی مثل vba که برنامه نویسان دسترسی مستقیم به حافظه داینامیک ندارند این ارور اتفاق نمی افتد. مثلا شما اگر یک تابع بازگشتی با عمق بسیار بالا داشته باشید در حالی که آرگومان های ورودی از نوع variant یا object (هر نوعی حتی label) باشند، احتمال وقوع heap overflow زیاد است.

                    buffer overflow به معنی خروج از باندری یا محدوده حافظه است. مثلا شما آرایه 10 خونه ای تعریف کردید و می خواهید در خانه 11 ام چیزی رو ذخیره کنید.

                    buffer stack overflow به این معنی است که مثلا آرایه ای دو بعدی 10*10 تعریف کرده اید.
                    چون آدرس هر سطر در stack ذخریه می شود. اگر بخواهید در سطر 11 ام چیزی ذخیره کنید با buffer stack overflow مواجه می شوید.

                    البته دو مورد آخر رو بعید میدونم در اکسل وجود داشته باشند. اما حتما معادل هایی شبیه range overflow خواهد بود.

                    همین عبارات رو در گوگل جستجو کنید اطلاعات زیادی برای شما خواهد آمد
                    -------
                    [url=http://md6712.com]http://md6712.com[/url]
                    جامعه ایده پردازان: http://idekadeh.com

                    کامنت

                    • mahsa shayesteh

                      • 2011/12/07
                      • 272

                      #11
                      RE: ارور overflow

                      ممنون از اطلاعات جامعی که دادید فقط یک سوال این توضیحات بر اساس vb6 داده شده ؟ یعنی باید تعمیم داده بشه به vba درسته؟
                      [color=#FF0000]در روزگاری که لبخند ادمها بخاطر شکست توست برخیز تا بگریند[/color]

                      کامنت

                      • m_d6712

                        • 2010/05/22
                        • 174

                        #12
                        RE: ارور overflow

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

                        Private Sub UserForm_Click()
                        Dim a(1000, 1000, 100) As Integer

                        End Sub
                        اصلا ارور نداد. اما اگر
                        Dim a(10000, 1000, 100) As Integer
                        رو بخوای اکسل بسته می شود برای من چون RAM پر میشه.

                        احتمالا در اکسل متغیر ها چند بعدی به حالت یک بعدی در می آیند. یعنی فقط یک آدرس در stack اشغال می کنند.خوب این مشکل کاهش سرعت پردازش رو بوجود می آورد اما خوب یک راه منطقی برای فرار از stack flow هست. در VB6 هم به همین صورت هست. VB.Net هم همین طور. اما در C++ هر سطر جداگانه ذخیره می شود و برای فرار از این مشکل خود برنامه نویس باید ارایه چند بعدی را به یک بعدی تبدیل کند. اما هنوز در صورت وجود تابع بازگشتی احتمال وقوع stack overflow وجود دارد.
                        -------
                        [url=http://md6712.com]http://md6712.com[/url]
                        جامعه ایده پردازان: http://idekadeh.com

                        کامنت

                        • mahsa shayesteh

                          • 2011/12/07
                          • 272

                          #13
                          RE: ارور overflow

                          ولی من همچین ارور هایی مثلا در متلب ندیدم یا تو متلب با ابعاد خیلی بیشتر مشکلی پیش نمیاد از نظر پردازش خیلی جالبه چرا نمیشه vba به این شکل طراحی بشه واقعا گیج کنندس
                          [color=#FF0000]در روزگاری که لبخند ادمها بخاطر شکست توست برخیز تا بگریند[/color]

                          کامنت

                          • m_d6712

                            • 2010/05/22
                            • 174

                            #14
                            RE: ارور overflow

                            اصولا هر چه هوش کامپایلر بالاتر بره سرعت پایین میاد.
                            خوب matlab خیلی ازاین لحاظ هوش بالایی داره. ولی سرعت پردازش matlab خیلی پایین اومده.
                            از اون طرف c++ و c خیلی ساده و سطح پایین هستند ولی سرعت بسیار بالایی دارند.
                            شما باید ببینی آیا سرعت برای شما مهمه یا راحتی.

                            همه کارهایی که با متلب انجام میشه رو میشه با c++ انجام داد با سرعت بیشتر و البته زحمت بیشتر.
                            اما کارهایی که میشه به متلب کرد رو نمیشه با سرعت بالا انجام داد.

                            من معتقدم یک فرد باید از همه این نرم افزار های به جای خودش و در زمان مناسب خودش استفاده کنه. من بشخصه خیلی از مواقع در تحقیقات خودم از Matlab استفاده می کنم. اما 90% اون مواقع دوباره مجبور میشم با C++ بنویسم کد رو دوباره.

                            بین زبان های C++ و VB هم فرق هایی هست که مهم ترین اون همین بحث نحوه شکل گیری و استفاده از متغیر ها می باشد.

                            -------
                            [url=http://md6712.com]http://md6712.com[/url]
                            جامعه ایده پردازان: http://idekadeh.com

                            کامنت

                            • mahsa shayesteh

                              • 2011/12/07
                              • 272

                              #15
                              RE: ارور overflow

                              خب همه که مثل شما نمیتونن باشن به همه این زبان ها مسلط باشن واسه بی سوادایی مثل من یک زبان همه کاره کفایت میکنه:P
                              [color=#FF0000]در روزگاری که لبخند ادمها بخاطر شکست توست برخیز تا بگریند[/color]

                              کامنت

                              چند لحظه..