دلفي تعليم
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

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

اذهب الى الأسفل

ملف dll وارسال واستقبال القيم النصية او المتغييرات النصية Empty ملف 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
زائر


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

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

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