فوائد اضافة المكونات برمجيا
#4
vb_manager كتب :اود الترحيب بابناء المنتدى
احببت اليوم ان نناقش فوائد اضافة الادوات والمكونات برمجيا
و عليكم السلام .. شكرا على طرحك للموضوع Big Grin
لدي مداخلات على السريع
إقتباس :ا- سيعمل على تصغير حجم البريمج
[COLOR="red"]ليس بالضرورة لأن دلفي يقوم بعمل كومبايلر للكلاس كله الخاص بالأداة ودمجه مع المشروع Big Grin
[/COLOR]
إقتباس :بذلك تستغنى عن 13 خاصية تضاف اتوماتك عند ظهور المكون على الفورم وقت التشغيل ولكن بدون حفظها فى البريمج
فيصغر حجم البريمج جدا
2- سيعمل على سرعة تنفيذ اكواد البريمج
لنفرض أني أضفت Button جديد للفورم بدون تغيير أي قيمة .
هذا الكود الذي يقوم دلفي بتوليده
PHP كود :
object Button1: TButton
    Left 
= 192
    Top 
= 112
    Width 
= 75
    Height 
= 25
    Caption 
= 'Button1'
    
TabOrder = 0
  end 
لاحظ ان هذه أغلب الخصائص سنستخدمها عند اضافة الكونترول برمجيا + الخاصية Parent .
ماعدا بعض الخصائص التي يمكن الاستغناء عنها , مثل الخاصية TabOrder أو الخاصية Style ..
لكن في الحقيقة فقد تم اسناد هذه الخصائص الى القيم الافتراضية في ال constructor ِcreate الخاص بالأداة

PHP كود :
constructor TCustomButton.Create(AOwner: TComponent);
begin
  inherited Create
(AOwner);
  
ControlStyle := [csSetCaption, csDoubleClicks];
  
Width := 75;
  
Height := 25;
  
BlaBla...
  
FStyle := bsPushButton;
  
FStylusHotImageIndex := -1;
end; 

[COLOR="Red"]لذلك عامل السرعة لا يتعلق باضافة الأدوات برمجيا.
[/COLOR]
إقتباس :3- وهذا الاهم هناك ادوات active X cnrols بتكون غير مجانية ولا تستطيع انت ان تستخدمها لانها اولا بتعمل error عند اضافتها للفورم وهو ole error تستطيع اضافتها برمجيا وتستفيد منها بدون اى مشاكل التسجيل وخلافه

تحياتى
كلام صحيح , أغلب أدوات active X ستعمل أحسن ان تم اضافتها برمجيا .
ماعدا ادوات ال vcl فستعمل بنفس الطريقة , لقد قمت بتصدير أداة ColorGrid الى ActiveX ثم استخدام هذه الأخيرة مع الدوت نت وكانت النتيجة مقبولة Big Grin


[COLOR="Red"]أهم نقطة عند اضافة الأدوات برمجيا هي أنه لا يتم اضافة الأداة الى الرسورس .. بمعنى لا يمكن تغيير الادوات بالاستعانة ببرامج الرسورس
أغلب المبرمجين يستخدون الطريقة في نوافذ التسجيل الخاصة بالبرنامج تفاديا لأي تلاعب من قبل الكراك كحذف زر التسجيل أو تغيير Unregistered Label الى Registered وغيرها من الامور المتعلقة بالحماية ...

[/COLOR]
تحياتي .. Big Grin
[-] كل من 1 user says قال شكرا ل SMP3 على المشاركة المفيدة
  • invocker
الرد


الردود في هذا الموضوع
فوائد اضافة المكونات برمجيا - بواسطة SMP3 - 02-12-2012, 02:39 PM
فوائد اضافة المكونات برمجيا - بواسطة الحويطي - 03-12-2012, 08:28 PM

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


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