السلام عليكم
Violation d'accés a l'adresse 00D0E05C dans le module 'DLLFILE.DLL'
lecture de l'adresse FFFFFFFF.
هذه رسالة الخطأ التي ضهرت عند تنفيذ مثال يلخص مشكلتي مع dll :
اريد الكتابة على اي عنصر على form بواسطة dll
*******************************************************************************************************************
library DllFile;
uses
Unit1,SysUtils,Windows,Messages,Forms,Classes;{$R *.RES}
function Mes :boolean;
begin
Unit1.Form1.Edit1.text:='السلام';
end;
exports
Mes;
begin
end.
*******************************************************************************************************************
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;
type
TMes = function :boolean;
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private{ Private declarations } public { Public declarations }end;
var
Form1: TForm1;
implementation{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
DLLHandle: THandle;
Mes: TMes;
begin
try
DLLHandle := loadLibrary ('DllFile.dll');
if DLLHandle 0 then begin
@Mes := getProcAddress ( DLLHandle, 'Mes' );
if addr ( Mes) nil then begin
Mes;
end else
showMessage ( 'الملف المحدد غير متوافق' );
end else
showMessage ( 'الملف المحدد غير صحيح' );
finally
freeLibrary ( DLLHandle );
end;
end;
end.
اتبعت طريقة الاخ sum
انتظر الرد