delphi4arab منتديات دلفي للعرب
كيف ربط متغير مع ملف dll - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف ربط متغير مع ملف dll (/showthread.php?tid=5827)



كيف ربط متغير مع ملف dll - Anew - 30-12-2013

السلام عليكم اخواني الاعزاء

كيف يتم ربط متغير مع ملف dll

بهذه الصوره

كود :
procedure GetValue(_Level:Integer);Stdcall;export;

هذا الاجراء موجود في ملف DLL


و عندما استخدمة اقوم بوضع متغير

var

كود :
var _int : Integer;

كود :
GetValue(_int)

و الان كيف يتم تحويل القيم للمتغير

_int


و شكرا لكم


كيف ربط متغير مع ملف dll - Houdini - 30-12-2013

اخي انت تستعمل procedure الاصح ان تستعمل function لانها تعطيك مرجعات بعد نداء عليهاا


كيف ربط متغير مع ملف dll - h-farid - 30-12-2013

Anew كتب :
كود :
var _int : Integer;

كود :
GetValue(_int)

و الان كيف يتم تحويل القيم للمتغير

_int

وعليكم السلام و رحمة الله

بالاضافة إلى ملاحظة الأخ هوديني, لماذا تود تمرير قيمة للمتغير VAR لماذا لا تطبق الدالة مباشرة على القيمة التي تريد
مثلا للعدد 6 تكتب :
كود :
GetValue(6);

مثال آخر بالنسبة لقيمة نصية :
كود :
GetValue(strtoint(edit1.text));
;

و الله سبحناه و تعالى أعلم


كيف ربط متغير مع ملف dll - Anew - 30-12-2013

اخواني الافاضل

الطريقه هية

يتم تخزين القيم التي يتلاعب بها داخل الاجراء و يمررها للمتغير _int

اما عن طريقة function

فلا تعطيك اكثر من واحد

فماذا لو كان لدي متغيرين او اكثر ؟

و بارك الله بالجميع


كيف ربط متغير مع ملف dll - SMP3 - 31-12-2013

Anew كتب :اخواني الافاضل

الطريقه هية

يتم تخزين القيم التي يتلاعب بها داخل الاجراء و يمررها للمتغير _int

اما عن طريقة function

فلا تعطيك اكثر من واحد

فماذا لو كان لدي متغيرين او اكثر ؟

و بارك الله بالجميع

أمامك حلان التمرير بال var أو استعمال المؤشرات :
PHP كود :
procedure GetValue(var X: Integer);
begin
  inc
(X);
end;

procedure GetValue2(X: PInteger);
begin
  inc
(X^);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  
A: Integer;
begin
  A 
:= 6;
  
GetValue(A);
  
Caption := IntToStr(A); // 7 .
  
GetValue2(@A);
  
ShowMessage(IntToStr(A)); //8 .

end; 



كيف ربط متغير مع ملف dll - Anew - 31-12-2013

الف شكر لجميع على المساهمة و لكن تم حل المشكله بوضع وصيت من نوع TrackBar

للفائدة لمن يحتاجها

نقوم بوضع تريك بار على الفروم

كود :
procedure GetValue(X: TTrackBar); begin x := 100 Div 5; end;

و بتالي اي قيم تدخل الى X

سيقوم بتحويلها الى التريك بار
=========================

و بارك الله في الجميع و لمن شارك معنا