الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

رسالة خطأ لم استطع فهمها

بدأه a0sw255 في 5 فبراير 2012 · 1 رد · 446 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

بما أن فهم المشكلة = نصف الحل... اذاً

type
 TDateArray=array [1 .. 100] of TDate;
.............
procedure FillDateArray(StrtDate, EndDate: TDate; BkDay: integer;
  var DDateArry: TDateArray; var Cntr: integer);
var
  XDateVal: TDate;
  I: integer;
begin
  XDateVal := StrtDate;
  Cntr := 1;
  for I := 1 to DaysBetween(StrtDate, EndDate) + 1 do
  begin
    if DayOfWeek(XDateVal) = BkDay then
    begin
      DDateArry[Cntr] := XDateVal;
      Cntr := Cntr + 1;
    end;
    XDateVal := IncDay(XDateVal, 1);
  end;

end;
......................
1 -
FillDateArray(DM.QMultiII.FieldByName('FrmDate').Value,
                DM.QMultiII.FieldByName('ToDate').Value, DM.QMultiII.FieldByName
                  ('BookDay').Value, TmpDateArray, XCnt);

2-
   FillDateArray(BookR.FrmDate, BookR.ToDate, BookR.BookDay,XArr, XC);
    FillDateArray(DM.TBookMFrmDate.Value, DM.TBookMToDate.Value,
      DM.TBookMBookDay.Value, xarr, XC);

لدي الاجراء بالاعلى مكتوب في Unite ويتم استدعائه من داخل اليونت في اجراء آخر ولا مشكلة , يعمل جيدا

ولكن عند استدعائه من Unit اخرى لا يعمل ويعطي الرسالة التالية :

Types of actual and formal parameters must be identical

لم استطع فهم المشكلة !! هل من مساعدة في فهم المشكلة؟؟؟

ملاحظة :

- DDateArry و xarr من النوع TDateArray .

- الاستدعاء الاول يعمل بشكل جيد والاستدعاء الثاني لا يعمل ويتوقف المؤشر عن اسم المصفوفة ويعطي رسالة الخطأ المشار اليها.

- بالنسبة لكون الاستدعاء الثاني من وحدة اخرى فالاجراء معرف في interface .

على فكرة: هذا المعرف ايضا لي : C_vita

تحياتي ...

تم تعديل هذه المشاركة بواسطة a0sw255 في 5 فبراير 2012 في 13:00

----------------------------------------------------------------------

010.gif

#2

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

رسالة الخطأ:

Types of actual and formal parameters must be identical

تعني عدم تطابق معلمات الدالة المستدعاة مع التي في عبارة الاستدعاء

وهو غالبا يحدث عند وجود التباس دالتين تحملان نفس الاسم مع اختلاف في أنماط المتغيرات

عند استدعاء دالة ينظر المترجم في أقرب نمط للمتغيرات، لذلك جرب تغيير اسم الدالة

بالتوفيق.

مواضيع مشابهة