25-10-2018, 06:50 PM
افتباس من Coldzer0
إقتباس :عندى سؤال بخصوص الجزئيه المتعلقه بال Delphi unit
لما يتم مسح ال program واضافه unit و {$E exe} تحدث مشكله وهى عدم تمكن البرنامج من التعرف على المتغيرات النصيه
مثلا
command := 'Helo '; فى هذه الحاله لا يعمل بسبب عدم معرفه المتغيرات واماكنها ف الذاكره على حسب تحليلى من داخل olly
لان الكومبيلر لا يعمل اضافه لل _InitExe الى فى ملف الجديد الناتج من ال unit
حاولت باكثر من طريقه لكن للاسف لم ينجح الامر![]()
اقتباس من STRELiZIA
إقتباس :نعم عند دفع الكومبايلر اهمال دوال الــ Initialization فانه يجب استبدالها بتغيير طريقة التفكير برمجيا...
مثلا، عند الاعتماد على الــ Affectation كما هو في العادة في البرمجة بدلفي الرمز ( :=: )
فإن نجاح عملية البناء تحتاج الى دوال اضافية يدمجها الكومبايلر مثل:
عند اهمالها قد تسبب اخطاء خلال التنفيذ او فشل عملية البناء...
هذه الأوامر مع اضافة متغير نصي يتم استدعائه يعمل عندي بدون مشاكل، لكن الملف الناتج كبير الحجم اكثر من 10 كب... بعد دمج الكومبايلر لكل ما يحتاجه لمعالجة النصوص...
لذا يجب تغيير طريقة التفكير و عدم الاعتماد على تغليفات دلفي و الاعتماد الكلي على البرمجة بــ Pure API و العمل بالــ Pointers على طريقة السي بلص بلص... يصبح الناتج صغير الحجم... 3.5 كب
مع عدم نسيان Initialization و تصفير المتغيرات المحجوزة التابعة للمؤشرات اولا... (في تغليفات دلفي يتم عملها بدون تدخل المبرمج) و بطريقة المقالة فالتفكير يجب ان يكون بعقلية التعامل مع المتغيرات على طريقة السي بلص بلص.
implicit conversion (think forward)