تستخدم دلفي DLL لتنفيذ مثال بسيط للمكونات الإضافية
هذا هو رمز DLL
كود التنفيذ:
مكتبة MyDll؛ تستخدم SysUtils، Dialogs، Classes؛ الإجراء ShowInfo(info:PChar);stdcall; begin ShowMessage('لقد حددت ['+info+']'); النهاية؛
هذا هو الكود الذي يستدعي النموذج
يستخدم هذا المثال مكتبة الارتباط الحيوي (DLL) واحدة فقط، لذلك عندما يكون هناك عدة ملفات DLL، فإنك تحتاج إلى المرور عبر الدليل الذي يوجد به ملف DLL وتحميل ملفات DLL بالتسلسل.
واجهة الوحدة الرئيسية تستخدم Windows، والرسائل، وSysUtils، والمتغيرات، والفئات، والرسومات، وعناصر التحكم، والنماذج، ومربعات الحوار، وStdCtrls، والقوائم، وExtCtrls؛ = class(TForm) Button1: TButton2: TButton MainMenu1: TMainMenu; Image1: TImage; الإجراء Button2Click(Sender: TObject); public { Private notifications } FHandel: THandle; // DLL Handle FProAddress: Pointer; // عنوان ShowInfo في DLL showinfo: TShowInfo; إجراء DLL LoadPlusIn; // تحميل إجراء البرنامج الإضافي (DLL) ItemClick(Sender: TObject); { الإعلانات العامة } end; var Form1: TForm1; إجراء التنفيذ {$R *.dfm} TForm1.Button2Click(Sender: TObject); start LoadPlusIn; end; // احصل على العنوان إذا كان @showinfo <> nil showinfo(PWideChar(TMenuItem(Sender).Caption)); // تنفيذ ShowInfo في DLL end; التحميل إذا كان FHandel = 0 ثم ابدأ ShowMessage('فشل التحميل! '); إنهاء وإلا ابدأ @getcaption := GetProcAddress(FHandel,'GetCaption'); قم بإنشاء عنصر القائمة.Caption := getcaption; // احصل على التسمية التوضيحية، أي اتصل بـ GetCaption في DLL FProAddress := GetProcAddress(FHandel,'ShowInfo'); // احصل على عنوان ShowInfo في عنصر DLL.OnClick := ItemClick; // قم بتعيين حدث النقر لعنصر القائمة MainMenu1.Items.Add(item); نهاية القائمة الرئيسية؛
إذا كان لديك أي أسئلة، يرجى ترك رسالة أو الذهاب إلى مجتمع هذا الموقع للتواصل والمناقشة. شكرًا لك على القراءة، وآمل أن تتمكن من مساعدة الجميع. شكرًا لك على دعمك لهذا الموقع.