دلفي تعليم
مرحبا بكم ايها الزئر أو الزائرة الكريمين

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

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

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

مُساهمة  alla في 18/5/2017, 11:47 pm


بسم الله الرحمن الرحيم
الصلاة السلام على رسول الله

انشاء ملف دي ال ال dll واستدعائه

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


fichier -> nouveau -> export dll -> ok

ملف دي ال ال

Liprary مكتبة


الكود:


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

uses
  Sharemem,
  SysUtils,
  untDllString;//delph.forumalgerie.net

type
 TCustomDllString = class(TDllString) [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
  private
  fLString: string;
  protected
    function GetReadString: string; override;
    procedure SetWriteString(valStr: string); override;//delph.forumalgerie.net
 end;
 TCustomDllStringClass = class of TCustomDllString;//delph.forumalgerie.net


function TCustomDllString.GetReadString: string;//delph.forumalgerie.net
begin
  Result := 'Welcome To Dll Test''' + fLString;//delph.forumalgerie.net
end;

procedure TCustomDllString.SetWriteString(valStr: string);//delph.forumalgerie.net
begin
  fLString := valStr;//delph.forumalgerie.net
end;

function FonctionDll: TCustomDllStringClass; stdcall;//delph.forumalgerie.net
begin
  Result := TCustomDllString;//delph.forumalgerie.net
end;

exports
  FonctionDll name 'FNom';//delph.forumalgerie.net

begin
end.




انشاء مشروع جديد
fichier -> nouveau -> application -> ok

ضع فوق الفورم
TButton 1

وحدة المشروع

الكود:

unit untCalldll;//delph.forumalgerie.net

interface

uses
  Windows, Messages, SysUtils, Variants, Classes,
  Graphics, Controls, Forms,
  Dialogs, untDllString, StdCtrls;//delph.forumalgerie.net

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);//delph.forumalgerie.net
  private
  public
  end;//delph.forumalgerie.net

var
  Form1: TForm1;//delph.forumalgerie.net

implementation

{$R *.dfm}

type
  TDllFonction = function: TDllStringClass;//delph.forumalgerie.net
  stdcall;
 
procedure TForm1.Button1Click(Sender: TObject);//delph.forumalgerie.net
var
  fh: THandle;
  fDllfon: TDllFonction;//delph.forumalgerie.net
  fDllString: TDllString;//delph.forumalgerie.net
 
begin
  fh := LoadLibrary('DllTest.dll');//delph.forumalgerie.net
  if fh <> 0 then
  begin
    @fDllfon := GetProcAddress(fh, 'FNom');//delph.forumalgerie.net
    if @fDllfon <> nil then
    begin
      fDllString := fDllfon.Create;//delph.forumalgerie.net
      ShowMessage(fDllString.ReadWriteString);//delph.forumalgerie.net
      fDllString.Free;//delph.forumalgerie.net
  end;//delph.forumalgerie.net
  end;//delph.forumalgerie.net
  FreeLibrary(fh);//delph.forumalgerie.net
end;//delph.forumalgerie.net

end.//delph.forumalgerie.net

المشروع

الكود:

program prjCallDllString;//delph.forumalgerie.net

uses
  Sharemem,
  Forms,
  untCalldll in 'untCalldll.pas' {Form1},
  untDllString in 'untDllString.pas';//delph.forumalgerie.net

{$R *.res}

begin
  Application.Initialize;//delph.forumalgerie.net
  Application.CreateForm(TForm1, Form1);//delph.forumalgerie.net
  Application.Run;//delph.forumalgerie.net
end.//delph.forumalgerie.net


هذه الوحدة كوسيط

الكود:

unit untDllString;//delph.forumalgerie.net

interface

type
  TDllString = class
  protected
    function GetReadString: string; virtual; abstract;//delph.forumalgerie.net
    procedure SetWriteString(valStr: string); virtual; abstract;//delph.forumalgerie.net
  public
    property ReadWriteString: string read GetReadString write SetWriteString;//delph.forumalgerie.net
  end;
  TDllStringClass = class of TDllString;//delph.forumalgerie.net
 
implementation

end.//delph.forumalgerie.net
 


دلفي 7 من بورلاند





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

alla
مبرمج مجتهد

عدد المساهمات : 740
تاريخ التسجيل : 29/07/2013

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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