سؤال

لقد وجدت أن حلقة متداخلة تفشل عند الوصول إلى حالة معينة ، بطريقة ما عندما i = 1 و J = 3 و K = 5

حاولت النقر بزر الماوس الأيمن على نقطة الإيقاف وفي الحالة التي قمت بتعيينها

(i = 1) و (j = 3) و (k = 5)

على أي حال لا تتوقف نقطة التوقف ...

ما المشكله؟

هل كانت مفيدة؟

المحلول

لقد جربت ذلك للتو في D2007 وهو يعمل بشكل جيد. ما هو إصدار الذي تستخدمه؟

procedure TForm85.FormClick(Sender: TObject);
var i,j,k : integer;
    z:integer;
begin

  for i := 0 to 10 do
  for j := 0 to 10 do
  for k := 0 to 10 do
  BEGIN
    z := z + i * j * k; // breakpoint on this line.
  END;

  ShowMessage(IntToStr(z));
end;

هل فكرت في أنه قد لا يتم الوصول إلى نقطة التوقف لأن الشرط لم يتم الوفاء به؟

نصائح أخرى

لقد أضفت نقطة الإيقاف ك كسر نقطة التوقف انا افترض.

للتحقق من هذا

  • افتح نافذة خصائص نقطة الإيقاف
  • انقر على Advanced
  • تأكد من أن فترة راحة يتم فحص خانة الاختيار.

قد يكون وفقًا للرمز الخاص بك

(I = 1) and (J = 3) AND (K = 5)

قد لا تحصل أبدًا على هذه القيم في نفس الوقت

اضبط نقطة التوقف على سطر من التعليمات البرمجية قبل الوفاء بالشرط والتخطي مع F8؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top