كيفية انشاء ملف DLL واستدعائه بدلفي

اذهب الى الأسفل

كيفية انشاء ملف DLL واستدعائه بدلفي

مُساهمة  mah11 في 1/8/2014, 7:23 pm


كيفية انشاء ملف DLL واستدعائه بدلفي

بسم الله الرحمن الرحيم

و الصلاة و السلام على رســـول الله

كيفية انشاء ملف DLL بـــ Delphi
واستدعائه بــــبرنامج دلفي Delphi

ملف دي ال ال
الكود:

دلفي تعليم
delph.forumalgerie.net
DLL

واستدعائه بدلفي

بسم الله الرحمن الرحيم

و الصلاة و السلام على رســـول الله

كيفية انشاء ملف DLL بـــ Delphi
واستدعائه بــــبرنامج دلفي Delphi

المشروع أي انشاء مشروع جديد
الكود:

fichier -> nouveau -> application -> ok

-------------------------
الوحدة الاولى
-------------------------

الكود:

unit Unit01;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

 function Addition(a1,b1: integer): integer; stdcall;
 external 'TestDLL1.dll';

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 x, y: integer;
 j: integer;
begin
 x := StrToInt(Edit1.Text);
 y := StrToInt(Edit2.Text);
 j := Addition(x, y);
 Label1.Caption := IntToStr(j);
end;

end.

الكود:

procedure Button1Click(Sender: TObject);
في السطر الاول تم تصريح باجراء النقر هو من نوع كائن وتتم كتابته تلقائيا
الكود:

private { Déclarations privées }
منطقة لتصريح المخصص أي تصريح لبعض المتغييرات أو الاجراءات
الكود:

public { Déclarations publiques }
منطقة لتصريح العام أي تصريح بعض المتغييرات أو الاجراءات
الكود:

function Addition(a1,b1: integer): integer; stdcall; external 'TestDLL1.dll';
تصريح بالدالة المستعملة في البرنامج
الكود:

implementation {$R *.dfm}
نهاية منطقة التصريح وبداية منطقة كتابة الاوامر أي جسم البرنامج
الكود:

procedure TForm1.Button1Click(Sender: TObject);
بداية اجراء النقر
الكود:

var
x, y: integer;
j: integer;
تصريح بثلاثة متغييرات من نوع صحيح داخل الاجراء
الكود:

begin
بداية جسم الاجراء
الكود:

x := StrToInt(Edit1.Text);
اسناد القيمة المدخلة في مربع النص الى المتغيير صحيح وذلك بعد تحويلها من سلسلة حرفية الى عدد صحيح
الكود:

y := StrToInt(Edit2.Text);
عملية اسناد كسابقه أي نفس شيء
الكود:

Label1.Caption := IntToStr(j);
اسناد قيمة المتغيير الى لافتة كابشن لابل الاول وذلك بعد عملية التحويل من متغيير الى سلسلة حرفية
الكود:

end;
end.
نهاية الاجراء ونهاية البرناج في نفس الوقت

----------------
الكود:

fichier -> nouveau -> export dll -> ok

ملف دي ال ال

Liprary مكتبة
الكود:

stdcall;

الكود:

library TestDLL1;

uses SysUtils, Classes;

{$R *.res}

function Addition(a1,b1: integer): integer; stdcall;
begin
  Addition := a1+b1;
end;
 exports  Addition;

begin
end.


سأحاول شرح هذه الاوامر

الكود:

Liprary TestDLL1;

المكتبة وهذه المكتبة لها اسم معين

الكود:

begin

البداية
الكود:

tesult := a1+b1;
اسناد نتيحة عملية الجمع الى الدالة أو الى اسم الدالة
الكود:

exports Addition;
تصدير الدالة الى خارج المكتبة من أجل استعمالها في برامج أخرى
الكود:

end.
النهاية

نستطيع كتابة دالة أو اثنان أو أكثر أو حتي اجراءات متعددة

في حالة تعدد الاجراءات والدوال

الكود:

function addition(a1,b1: integer): integer; stdcall;
begin
 result := a1+b1;
end;

الكود:

function soustraction(x:integer; y: integer): integer; stdcall;
begin
 result := x-y;
end;

الكود:

procedure max(k: integer; j: integer; var m: integer)
begin
 if k > j then m:=k else m:=j;
end;

هذه طريقة تصدير الى البرامج المستدعية أي التي تستدعي هذه الدوال والاجراءات ونفصل بينها فاصلة

الكود:

exports addition, soustraction, max;

ساشرح في موضوع آخر طريقة الارسال باسم او مؤشر name - index




لـــنقل هذه المواضيع أرجـــــــــــــو منكم ذكر رابط المنتدى

delph.forumalgerie.net



عدل سابقا من قبل mah11 في 6/11/2014, 12:40 pm عدل 1 مرات

mah11
Admin

عدد المساهمات : 364
تاريخ التسجيل : 21/06/2013

http://delph.forumalgerie.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية انشاء ملف DLL واستدعائه بدلفي

مُساهمة  saad في 28/9/2014, 12:38 pm

بارك الله

saad

عدد المساهمات : 12
تاريخ التسجيل : 28/09/2014

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية انشاء ملف DLL واستدعائه بدلفي

مُساهمة  mah11 في 6/11/2014, 12:31 pm

mah11 كتب:
كيفية انشاء ملف DLL واستدعائه بدلفي

بسم الله الرحمن الرحيم

و الصلاة و السلام على رســـول الله

كيفية انشاء ملف DLL بـــ Delphi
واستدعائه بــــبرنامج دلفي Delphi

ملف دي ال ال
---------------------


   procedure Button1Click(Sender: TObject);
 private
   { Déclarations privées }
 public
   { Déclarations publiques }
 end;

var
 Form1: TForm1;

 function Addition(a1,b1: integer): integer;
 external 'TestDLL1.dll';

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   x, y: integer;
   j: integer;

begin
 x := StrToInt(Edit1.Text);
 y := StrToInt(Edit2.Text);
 j := Addition(x, y);
 Label1.Caption := IntToStr(j);
 
end;

end.


أرجو زيارة المنتدى
-----------------------
delph.forumalgerie.net

لـــنقل هذه المواضيع أرجـــــــــــــو منكم ذكر رابط المنتدى

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

سأأأأأوضح ذلك

mah11
Admin

عدد المساهمات : 364
تاريخ التسجيل : 21/06/2013

http://delph.forumalgerie.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية انشاء ملف DLL واستدعائه بدلفي

مُساهمة  sdk11 في 13/6/2015, 9:22 am

بارك الله فيك

sdk11
مبرمج مجتهد

عدد المساهمات : 108
تاريخ التسجيل : 19/09/2014

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى