السلام عليكم و رحمة الله
التميرن التطبيقي التابع للدرس رقم 7.
موضوع التمرين :
1- انجاز مثالين بسيطين حول طرق الربط : Static و Dynamic - لكم كل الخيار في برمجتها و يجب ان تكون مختلفة عن التي في الدرس فقط

2- انجاز اضافة Plugin
تقوم بنسخ الملف المحمل في هذه الاداة : AT4RE FastScanner
يمكنكم طرح اي استسفار و
التعاون للوصول الي نتيجة صحيحة :p قبل يوم الاثنين القادم ان شاء الله.
---
رابط الأداة :
http://www.at4re.com/f/showthread.php?tid=4842
المرفق يحتوي على ملف مصدري لتمكينكم من عمل الــ Plugin
بالتوفيق ان شاء الله
السلام عليكم
إليكم هذه المحاولة
استعلمت الدالة CopyFileA الموجودة في kernel32.dll لنسخ الملف
الملف الناتج يسمى copy.exe
العمل المتبقي (لمن أراد أن يكمل)
ترك الحرية للمستخدم اختيار مكان و اسم الملف الناتج
يمكن أيضا التفكير في إمكانية نسخ الملف byte وراء byte للإنشاء الملف المنسوخ
و السلام عليكم
السلام عليكم و رحمة الله و بركاته
لقد طبقت الدرس السابع علي اله حاسبة بسيطة, لكنها غير مكتمله !
المشكلة اني **** ان يقوم بجمع Edit1.Text و Edit2.Text داخل Procedure من خلال الDynamic Dll.
فماذا افعل ؟
@STRELiTZIA : اسف علي تاخري فى حل HomeWork #7.
****ا أن يكون الدي عملته هو المطلوب؟؟ .
ملاحظة : إستعملت سكين AlphaControls
السلام عليكم ,,
حل التمرين كامل في المرفقات ( النقطة الأولى + الثانيه )
وشكرا جزيلا على التمرين
بالتوفيق
أولا في ما يخص التطبيق الأول كان يعمل على التحميل الديناميكي أما
هدا التطبيق نقوم بتحميل دالة blockinput من user32.dll التي تعمل
على إيقاف كل مداخل النظام :d
بسم الله الرحمن الرحيم
في المرفق حل التمرين بما يخص استعمال Plugin لـــ AT4RE FastScanner مع حماية الأوامر من الاستثناءات exceptions باستعمال try و finally و وضع بعض الفحوص الأساسية و إنشاء فورم Main و أخرى لعمل About.
---------
تعقيب على حلول الإخوة الأعضاء الكرام.
أخي djug :
- حل صحيح و عمل ممتاز بما يخص الــ Plugin
أخي Goblin :
إقتباس :يقوم بجمع Edit1.Text و Edit2.Text داخل Procedure من خلال ال Dynamic Dll.
فماذا افعل
الاجابة على سؤالك :
تصحيح ملف المكتبة
PHP كود :
function AdditionOperation(a, b : integer): integer; stdcall;
begin
Result := a + b ;
end;
تصحيح الاستدعاء
PHP كود :
var ProcessHandle : THandle;
AdditionOperation : function (a, b : integer): integer; stdcall;
begin
if RadioButton1.Checked then
begin
ProcessHandle := Loadlibrary('SimpleDllCalc.dll');
@AdditionOperation := GetProcAddress(ProcessHandle,'AdditionOperation');
Edit3.Text := AdditionOperation(StrToInt(Edit1.Text), StrToInt(Edit2.Text));
FreeLibrary(ProcessHandle);
end ;
أخي tf6 غير مهبول 
حل صحيح بما يخص التعامل مع المكتبة.... أين حل الــ Plugin ؟
اخي Dr MOT :
حل كامل و جيد أيضا.
------
إليكم سؤال دون أن تقوموا بالتجربة...
أين الصحيح في كتابة الاستعداء التالية للمكتبة ؟
او
strelitzia كتب :
والله اعلم
وهجرب دلوقتى