02-12-2012, 02:39 PM
vb_manager كتب :اود الترحيب بابناء المنتدىو عليكم السلام .. شكرا على طرحك للموضوع
احببت اليوم ان نناقش فوائد اضافة الادوات والمكونات برمجيا

لدي مداخلات على السريع
إقتباس :ا- سيعمل على تصغير حجم البريمج[COLOR="red"]ليس بالضرورة لأن دلفي يقوم بعمل كومبايلر للكلاس كله الخاص بالأداة ودمجه مع المشروع

[/COLOR]
إقتباس :بذلك تستغنى عن 13 خاصية تضاف اتوماتك عند ظهور المكون على الفورم وقت التشغيل ولكن بدون حفظها فى البريمجلنفرض أني أضفت Button جديد للفورم بدون تغيير أي قيمة .
فيصغر حجم البريمج جدا
2- سيعمل على سرعة تنفيذ اكواد البريمج
هذا الكود الذي يقوم دلفي بتوليده
PHP كود :
object Button1: TButton
Left = 192
Top = 112
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
end
ماعدا بعض الخصائص التي يمكن الاستغناء عنها , مثل الخاصية 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 ثم استخدام هذه الأخيرة مع الدوت نت وكانت النتيجة مقبولة

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


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)