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

ملف dll وارسال واستقبال القيم النصية او المتغييرات النصية

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

ملف dll وارسال واستقبال القيم النصية او المتغييرات النصية

مُساهمة  saad info في 23/11/2017, 8:21 pm

ملف dll وارسال واستقبال القيم النصية او المتغييرات النصية

عند ارسال سلاسل الحرفية الى ملف دي ال ال يحدث خطأ
ويجب تصريح بالوحدة Sharemem في القسم يوزس uses
وفي بداية ملف دي ال ال وفي بداية المشروع
كذلك لتجنب هذا الخطأ

واليكم هذا المثال

المشروع
الكود:

program Project1;

uses
  Sharemem, // يجب تصريح بهذه الوحدة هنا
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

الوحدة المشروع

الكود:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label2: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private public end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TestDll(var strA: string; strB: string); stdcall;
external 'dllDLL.dll' name 'TestDllA';

procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
 TestDll(s,edit1.Text);
 Label2.Caption := s;
end;

end.

///////////////////////////

ملف دي ال ال

الكود:

library dllDLL;

uses
  Sharemem, // يجب تصريح بهذه الوحدة هنا
  SysUtils,
  Classes;

{$R *.res}

procedure TestDll(var strA: string; strB: string); stdcall;
begin
  strA := 'Nom : '+strB;
end;
exports TestDll name 'TestDllA';

begin
end.

saad info
زائر


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

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


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