السلام عليكم
حاليا أنا أعمل برنامج مستخدماً DLL بحيث استدعي الإجراء الموجود في DLL من التطبيق و تنفيذه و الطريقة نجحت .
و لكن المشكلة هي عندما أكتب إجراء في ال DLL (حدث الضغط على زر الماوس مثلا هنا) هكذا :
library DLLProject;
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,jpeg,
ExtCtrls,StdCtrls;
{$R *.res}
procedure mDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
begin
showmessage('You clicked on the Form :at'+inttostr(x)+':'+inttostr(y));
end;
exports
mDown;
begin
end.
و من ثم عندما استدعي هذا الحدث (الإجراء) من تطبيقي و أطبقه على الفورم على هذا الشكل :
implementation
procedure mDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer); stdcall external 'DLLProject.dll';
{$R *.dfm}
/////-----------
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.OnMouseDown:=mDown;
end;
لا ينفذ و يظهر لي خطأ في عملية الإستدعاء في "Calling Convertions differ"
و أتمنى من الأخوة هنا إيجاد الحل و شكراً