منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
out of memory ? -_- - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : out of memory ? -_- (/showthread.php?tid=9081)



out of memory ? -_- - H111er - 30-05-13

السلام عليكم , Smile
اعذروني على الغيبة الطويلة لكنها الدراسة :\ .. انتهيت منها الحمد لله و ها انا عائد Smile , و عدت بفكرة لبرنامج له علاقة بالتصوير الفوتوغرافي ..
و في احد اوامره يقوم باستدعاء صورة بعد اخرى ( loop ) .. و يعالجها و يحفظها ..
لكن كان خطأ يظهر لي الا و هو " out of memory " !!
لم اعلم طريقة الحل , هل من معين ؟ Sad
و ها هو الكود :
كود :
Dim bmpx As New Bitmap(x)                bmpx = New Bitmap(bmpx, width, height)
                If Not now = count - 1 Then
                    Dim h As Integer = once * (i)
                    Dim r As New Rectangle(0, h, width, once)
                   g.DrawImage(bmpx, 0, h, r, GraphicsUnit.Pixel)
و كان الخطأ يظهر في اول سطر اعلاه ..
شكرا لكم :*


out of memory ? -_- - trustmeee - 30-05-13

H111er كتب :السلام عليكم , Smile
اعذروني على الغيبة الطويلة لكنها الدراسة :\ .. انتهيت منها الحمد لله و ها انا عائد Smile , و عدت بفكرة لبرنامج له علاقة بالتصوير الفوتوغرافي ..
و في احد اوامره يقوم باستدعاء صورة بعد اخرى ( loop ) .. و يعالجها و يحفظها ..
لكن كان خطأ يظهر لي الا و هو " out of memory " !!
لم اعلم طريقة الحل , هل من معين ؟ Sad
و ها هو الكود :
كود :
Dim bmpx As New Bitmap(x)                bmpx = New Bitmap(bmpx, width, height)
                If Not now = count - 1 Then
                    Dim h As Integer = once * (i)
                    Dim r As New Rectangle(0, h, width, once)
                   g.DrawImage(bmpx, 0, h, r, GraphicsUnit.Pixel)
و كان الخطأ يظهر في اول سطر اعلاه ..
شكرا لكم :*

جرب قبل تحميل المتغير bmpx بقيمة جديدة كتابة السطر
PHP كود :
bmpx.Dispose() 



out of memory ? -_- - H111er - 30-05-13

شكرا اخي لكن ليَّ سؤالان ..
الاول اين اضع السطر بالضبط ؟ و الثاني ما السبب اصلا لكتابة هذا السطر ؟
شكرًا


out of memory ? -_- - trustmeee - 30-05-13

H111er كتب :شكرا اخي لكن ليَّ سؤالان ..
الاول اين اضع السطر بالضبط ؟ و الثاني ما السبب اصلا لكتابة هذا السطر ؟
شكرًا

PHP كود :
Dim bmpx As New Bitmap(x)
bmpx.dispose()
 
bmpx = New Bitmap(bmpxwidthheight 
السبب هو انك عندما تنشأ كائن bitmap من مصدر (X) فانه يمنع الوصول الى هذا المصدر من اي كائن اخر ولتحرير هذا المصدر حتى تستطيع كائنات اخرى القراءة منه تستخدم Dispose()
ربما تكون ههذه هي المشكلة وربما لا
جرب واخبرني بالنتيجة


out of memory ? -_- - H111er - 30-05-13

جربت لكن لم تحل المشكلة .. لكني قمت بصنع متغير اخر وضعت فيه الصورة الجديدة بناءً على ما قلته و عمل الحمد لله ^_^
كود :
Dim x As String = "C:\uip-merges\" & (i + 1).ToString() & ".jpg"            Dim bmpx As New Bitmap(x)
            Dim bmpx1 As New Bitmap(bmpx, width, height)
شكراً Smile