تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
المساعده في الخطاء out of memory
#11
لا تقلق علي السورس كود  فهو في أمان
تستطيع ارسال الرابط في رسالة
سوف افتح الرسائل انتظرني لحظات
Retired
الرد }}}
تم الشكر بواسطة:
#12
(15-11-17, 01:04 AM)silverlight كتب : لا تقلق علي السورس كود  فهو في أمان
تستطيع ارسال الرابط في رسالة
سوف افتح الرسائل انتظرني لحظات


قمت بأرسال الرساله لك 
شكرا
الرد }}}
تم الشكر بواسطة:
#13
البرتامج ضخم و و محتاج مراجعة كاملة للكود
عموما  ...... في الفورم Main حاول تغير الاسم الي MainForm
وفي نفس الفورم
عليك مثلا أن لا تقوم بتحمبل الصور من الريسورس في الخدث load
لكن الأفضل أن يكون لديك شئ مثل هذا الكود 

PHP كود :
   Private ReadOnly Property Images As IEnumerable(Of Bitmap)
 
       Get
            Dim result 
As IEnumerable(Of Bitmap) = Nothing
            If result Is Nothing Then
                Dim images 
As List(Of Bitmap) = New List(Of Bitmap)()
 
               images.Add(My.Resources.minimize_white_32'0
                images.Add(My.Resources.server_connection_blue_64) ' 
1

                result 
images.ToList
            End 
If
 
           Return result
        End Get
    End Property 

ايضا عليك تغيير الروتين SetPicture ليكون كالتالي

PHP كود :
   Private Sub SetPicture(ByVal imgSrc As BitmapByRef target As PictureBox)
 
       Using imgDest As Bitmap = New Bitmap(target.ClientSize.Widthtarget.ClientSize.Height)
 
           Dim source_aspectdest_aspectk_aspectAs Double
            source_aspect 
imgSrc.Width imgSrc.Height
            dest_aspect 
imgDest.Width imgSrc.Height
            k_aspect 
dest_aspect source_aspect
            If 
(k_aspect 1Then
                K 
imgSrc.Height imgDest.Height
            Else
                K 
imgSrc.Width imgDest.Width
            End 
If
 
           Dim x_newy_neww_newh_new As Integer
            w_new 
CInt(imgSrc.Width K)
 
           h_new CInt(imgSrc.Height K)
 
           x_new CInt(imgDest.Width w_new 2)
 
           y_new CInt(imgDest.Height h_new 2)
 
           Using g As Graphics Graphics.FromImage(imgDest)
 
               g.InterpolationMode Drawing2D.InterpolationMode.HighQualityBicubic
                g
.DrawImage(imgSrc, New Rectangle(x_newy_neww_newh_new))
 
           End Using
            target
.Image imgDest

        End Using

    End Sub 

يوجد Flicker أو اهنزاز
يحدث عند تحريك الفورم ونفس الشئ يحدث عند تحريك أي فورم أخر
اضبط الخاصية BackgroundBuffer لكل فورم و اجعلها True 

بشكل عام انت تستخدم صور كثيرة كخلفية و يمكنك أن توفر وقتا ضخما و تقلل من الكود الخاص بكل Panel بحيث انه يتم تصميمها لوحدها باستخدام الوراثة

اخر شئ انا شغلت الفروم فترة 10 دقايق و لم يحدث شئ
لكنك لا تضمن ما يمكن أن حدث معك أثناء التشغيل عند العميل 
خاصة انك تستخدم مكتبات مختلفة مثل مترو و خلافه
وأنا لا أضمن لك كفاءة هذه المكتبات تماما
حاول تقلل من حجم الفونت و تقلل من تحميل اشياء كثيرة عند بداية التشغيل

دي ملاحظاتي
لكن المشروع محتاج إعادة نظر خصوصا قيما يخص الجرافكس

الكلاس التالي هدية لك و يمكنك ان تستخدمه مع الريسورس بدون أن يحدث مشاكل في عملية Dispose
PHP كود :
Imports System.Runtime.InteropServices

Public Class ImageBuffer
    Implements IDisposable

    Private _handle 
As IntPtr
    Private _source 
As Bitmap
    Private _valid 
As Integer

    Public Sub 
New(source As Bitmap)
 
       Me._source source
        Me
._valid = If(Not source Is Nothing10)
 
       Me.Assign()
 
   End Sub

    Public ReadOnly Property Valid
() As Boolean
        Get
            Return 
(Me._handle <> IntPtr.ZeroAndAlso (Not _valid)
 
       End Get
    End Property

    Public ReadOnly Property Handle 
As IntPtr
        Get
            Return Me
._handle
        End Get
    End Property

    Public Sub Dispose
()
 
       Me.Release()
 
       If Me._source IsNot Nothing Then
            Me
._source.Dispose()
 
           Me._source Nothing
        End 
If
 
   End Sub

    Private Sub Assign
()
 
       If Me._valid Then
            Me
.Assign(Me._source)
 
       End If
 
   End Sub

    Private Sub Assign
(source As Bitmap)
 
       If source IsNot Nothing Then
            Me
.Release()
 
           Me._handle source.GetHbitmap
        End 
If
 
   End Sub

    Private Sub IDisposable_Dispose
() Implements IDisposable.Dispose
        Me
.Dispose()
 
   End Sub

    Private Sub Release
()
 
       If Not _handle.Equals(IntPtr.ZeroThen
            Me
._handle = New IntPtr(0)
 
           Marshal.FreeHGlobal(Me._handle)
 
       End If
 
   End Sub

End 
Class 

الكود التالي يوضح كيفية استخدام الكلاس مع ملف صور موجود في الريسورس 
أو مع صورة من ملف


PHP كود :
       Using buffer As ImageBuffer = New ImageBuffer(CType(My.Resources.destBitmap))
 
           If buffer.Valid Then
                PictureBox1
.Image Image.FromHbitmap(buffer.Handle)
 
           End If
 
       End Using 

PHP كود :
       Using buffer As ImageBuffer = New ImageBuffer(New Bitmap(".\dest.jpg"))
 
           If buffer.Valid Then
                PictureBox1
.Image Image.FromHbitmap(buffer.Handle)
 
           End If
 
       End Using 
Retired
الرد }}}
تم الشكر بواسطة: Rabeea Qbaha
#14
صديقي silverlight  حقيقه لا استطيع شكرك كفايه على مجهودك ووقتك لمساعدتي
بفضل لله وبفضلك تمكنت من معرفة المشكله التي تسبب كل هذا 
وتستطيع تجربه ذلك بالنسخه التي لديك، اذا لاحظت في ال main load يوجد هناك Timer2.start و انا قمت بوضعه كملاحظه
عندما كنت احاول ان افصل الاتصال بقاعده البيانات، وبالصدفه قمت بتشغيل النسخه التي قمت بارسالها لك ، قلت لعل المشكله بالاتصال 
او بداعي الفضول و فعلا لم يحدث شيء عند التشغيل ، فقمت بفصل الاتصال بالنسخه الاصليه لكن المشكله كانت لا تزال موجودة، عند تشغيل النسخه 
المرسله مره اخرى لاحظت ان الساعه التي في اعلى ال main form لا تعمل، قمت بتعطيل ال Timer2 الخاص بالساعه في النشخه الاصليه وحلت المشكله.
على كل حال انا شاكر جدا لمجهولك ووقتك ، و اذا كان لديك اي اقتراحات او اذا لاحظت اي شيئ خاطأ في طريقه البرمجه لدي ساكون مسرور بسماع انتقاداتك.
الرد }}}
تم الشكر بواسطة:
#15
دعني أوضح لك شئ أخير فقط

لو نظرت الي الصورة في مشاركتك الأولي وهي أصل سؤالك
ستجد أن الخطأ حدث عند محاولتك إظهار الديالوج أو محاولتك إظهار الفرم shops_diagram
هنا فقط حدث الخطأ 
و الخطأ حدث في فضاء الأسماء System.Drawing
ونوع الحطأ System OutOfMemory

أما سبب الخطأ فهو إما أنت أو أحد المكتبات التي تستخدمها يقوم باستخدام Graphic Object لكي يرسم شئ ما 
وهذه Graphic Object لازم يتعمل لها Dispsoe

في البداية أنا اعتقدت انها المكتبات التي تستخدمها في برنامج
لكنك أوضحت لاحقا أن نفس المشكلة تحدث حتي لو استخدمت الكونترول الخاصة بمايكروسوفت و الموجودة في الفيجوال استوديو

لذلك لا يتبقي أن السبب هو كود كتبته أنت في shop_digram

راجع أكوادك فقط و تأكد أن كل شئ تمام

بالتوفيق
Retired
الرد }}}
تم الشكر بواسطة:
#16
صديقي silverlight ، المشكله لا تحصل فقط عند استدعاء shop_diagram المشكله تحصل 
بعد 10 دقائق تقريبا و اذا قمت بالضغط على اي button يقوم باستدعاء form بغض النظر عن الفورم او محتواه
سيحدث ال break ويتوقف البرنامج

وبالنسبه للمكتبات انا استخدم مكتبه لل combobox ومكتبه textbox وفمت بعمل مشروع سابق ولم يحدث اي مشاكل.

كما قلت لك المشكله تحدث بسبب الوظيفه التي يقوم بها timer2 في الفورم الرئيس لا ادري ما الذي يحصل لان وظيفنه لاظهار الساعه 
وهو موصول ب progress bar يقوم بالزياده مع كل ثانيه.

والحمد لله تم حل المشكله الان البرنامج يعمل لساعات دون مشاكل. 
الرد }}}
تم الشكر بواسطة:
#17
شكرا لك يا اخوتي
Idea (وَقُل رَّبِّ زِدْنِي عِلْمًا)
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اجو المساعده فى عمل تقرير خالد كامل1 3 293 24-12-23, 04:12 PM
آخر رد: خالد كامل1
  [VB.NET] ارجو المساعده مرفق سورس كود البرنامج فى المطلوب المساعده فيه hanyeltnen 2 611 04-02-23, 01:30 AM
آخر رد: aljzazy
  Remove excel from memory after close moh8880 2 851 18-06-22, 07:19 AM
آخر رد: asmarsou
  [VB.NET] مشكله في جمله inner join ارجوا المساعده يرحمكم الله فراس محي 12 2,401 18-04-22, 11:02 AM
آخر رد: فراس محي
  ارجو منكم المساعده و التعديل علي الكود اليوم السابع 5 1,724 14-06-21, 09:58 PM
آخر رد: trakktour
  المساعده في عرض البيانات moahmed.abdelmohsen 4 1,581 30-04-21, 03:11 PM
آخر رد: ابو انس
  فين الخطاء jmail 2 1,090 22-04-21, 12:46 AM
آخر رد: jmail
  انا عندي مشكله ممكن المساعده اريد كود يجلب لي اخر id moahmed.abdelmohsen 1 1,142 29-12-20, 11:25 PM
آخر رد: moahmed.abdelmohsen
  [سؤال] اتمنى المساعده لمن يعرف حل هذي المشكلة Hussain1995 1 1,240 22-10-20, 02:51 AM
آخر رد: سعود
  ماهو الخطاء في هذا الكود عمور2016 1 1,716 06-09-20, 06:33 PM
آخر رد: حريف برمجة

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم