الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استفسار حول دلفي 2005

مغلق
بدأه am2812 في 9 أبريل 2005 · 7 رد · 752 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوه الكرام في المنتدى

السلام عليكم ورحمة الله وبركاته

لاحظت ملاحظة عند استخدام دلفي 2005 أنه كثير من الاحيان يقف البرنامج ويعطي رسالة مفادها أنه في يوجد مشكلة في الذاكرة :( ؟؟ باختلاف رقم الخطأ :wacko: ؟ ولست أدري هل المشكلة عندي فقط أو هذا عيب في الاصدار الجديد علما بأني حدثت التحديث الثاني مباشرة :o :o :o :o

هل نترك المميزات الجديدة في 2005 ونرجع الى اصدار 7 ؟

أرجو من الأخوان النظر في هذا الموضوع B) B)

وشكرا لكم

20_09_05_04_45_39_1127216739saudi_aC_.gif
#2

لقد استعملت Delphi 2005 حتي من قبل صدور التعديل الأول, ولم يكن يعطيني أية رسائل خطأ :( .

لا أستطيع أن أفيدك ما لم تعطي معلومات أدق عن طبيعة الرسالة ومحتواها :rolleyes:

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#3

شكراً لك يا ikossan على تجاوبك

سوف احاول ترصد أي خطأ واصوره لك ونشوف المشكلة من أين ....

لعل المشكلة عندي فقط

20_09_05_04_45_39_1127216739saudi_aC_.gif
#4

1. قم بتحميل نسخة التعديل الثانية Service Pack2 فهي قامت بحل العديد من المشاكل

2. إذا كنت تعمل على دلفي 2005 الجزء الخاص ب Win32 فإستخدم برنامج Delphi Configuration Manager لتخصيص نسخة الدلفي حسب الإستخدام فمثلا قم بعمل profile خاص بدلفي win32 واخر لدلفي دوت نت وقمت بتحميل ما تريد فقط وليس كل شي

هذا سوف يحل بشكل كبير من مشكلة السرعة وحجم الذاكرة

على العموم اغلب المشاكل في دلفي 2005 هي من Together والكثير لا يستخدمها فقم بتعطيلها من خلال البرنامج السابق وسوف تلاحظ الفرق

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

#5

هذه مشاكل معروفة لدى الكثير من مبرمجي دلفي 2005. مرد ذلك للأخطاء اكثيرة بخصوص التعامل مع الذاكرة.

قامت بورلاند بطرح التعديل الثاني لدلفي 2005 مؤخراً والذي يحل الكثير من هذه المشاكل.

يمكنك البحث في المنتدى عن هذا التعديل وتحميله.

لكي ترى حجم المشاكل التي تم الإبلاغ عنها من قبل مبرمجي دلفي 2005 قم بزيارة موقع بورلاند في صفحة Quality Center الخاصة بدلفي 2005.

أما أنا فليس لدي الوقت لكي أقوم بعمل اختبارات نيابة عن بورلاند. إذ يبدو أن بورلاند أطلقت دلفي 2005 للأسواق ولم تكمل عملية الاختبار بشكل سليم.

لبرامج Win32 أنا استخدم ديلفي 7 .

لبرامج Dot NET أنا استخدم MS VS C# 2003 وهو أكثر من رائع.

رابط التعديل الثاني:

/index.php?showtopic=59387

#6

شكراً يا أخوان على ردودكم وتجاوبكم

فعلا كل الرسائل التي تظهر تدل على أن في مشكلة في الذاكرة

مثل الصورة المرفقة

post-28576-1113079799_thumb.jpg

20_09_05_04_45_39_1127216739saudi_aC_.gif
#7

مثل هذه الرسائل عادة ما تكون ملاتبطة بنص الكود الذي تبرمجه ولا دخل لديلفي بها سوى أنه يلتقط Exception ويظهرها لك على شكل رسالة.

مفاد هذه الرسالة أن برنامجك حاول قراءة موضع من الذاكرة والنظام لم يسمح له بهذا التصرف.

وهذه الرساءل تنتج عن أخطاء شائعة وكثيرة جدا لا يمكننا حصرها لأنها مرتبطة بالأساس بالكود نفسه الذي أنت تبرمجه( أو بالمكونات التي تستعملها في برنامجك):

كان تقوم بتغيير خاصيات لكلاس تم تحرير الذاكرة لها أو تريد الوصول إلى بعض المناهج لمكتبة ربط ديناميكي dll لم تعد معرفة.. إلخ

هذا مثال لبرنامج يقوم بخلق مثل هذه الرسائل:

uses ExtCtrls;
var
  img: TImage;


procedure TForm2.Button1Click(Sender: TObject);
begin
img.Free;
//img:= nil; for create violation access
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
img:= TImage.Create(form2);
with img do
  begin
    Parent:= Form2;
    Picture.Icon:= Application.Icon;
    Width:= 32;
    Height:= 32;
    Top:= 40;
    Left:=40;
  end;
end;

هذا الكود يقوم بإنشاء أيقونة ديناميكيا على سطح النافذة, والزر يقوم بتحرير الذاكرة المحصصة لهذه الأيقونة.

إذا ما ظغطت مرتين على الزر فإنه يقوم في الأول بتحرير الأيقونة و المرة التانية سيحاول تحرير أيقونة لم تعد معرفة مما سيخلق Exception .

لتفادي مثل هذه violation access exception يمكننا إعطاء قيمة Nil للأيقونة.

تم تعديل هذه المشاركة بواسطة ikossan في 10 أبريل 2005 في 20:07

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#8

أخي Ikossan:

أشكرك من أعمال القلب وسوف أنظم الكود أكثر

:D :D :D :D

20_09_05_04_45_39_1127216739saudi_aC_.gif

هذا الموضوع مغلق.

مواضيع مشابهة