يمكن أن يحتوي المشروع الواحد على ما يصل إلى 32000 معرف (كلمات غير محجوزة)، بما في ذلك (على سبيل المثال لا الحصر) النماذج وعناصر التحكم والوحدات النمطية والمتغيرات والثوابت والإجراءات والوظائف والكائنات. لاحظ أن العدد الفعلي للمعرفات محدود بالذاكرة المتوفرة.
لا يمكن أن تتجاوز أسماء المتغيرات في Visual Basic 255 حرفًا، ولا يمكن أن تتجاوز أسماء النماذج والتحكم والوحدة النمطية والفئات 40 حرفًا. لا يحدد Visual Basic العدد الفعلي للكائنات المختلفة في المشروع.
◆حدود التحكم◆
يستخدم كل عنصر تحكم غير رسومي (كافة عناصر التحكم باستثناء الأشكال والخطوط والصور والتسميات) نافذة. تستخدم كل نافذة موارد النظام، وبالتالي فإن العدد الإجمالي للنوافذ التي يمكن أن توجد في وقت واحد يكون محدودًا بالموارد المتاحة. ويعتمد الحد الدقيق على موارد النظام المتاحة ونوع التحكم المستخدم. لتقليل استهلاك موارد النظام، يمكنك استخدام عناصر التحكم في الشكل والخط والتسمية والصورة بدلاً من عناصر التحكم في مربع الصورة عند إنشاء الرسومات أو عرضها.
1. إجمالي عدد الضوابط
يعتمد الحد الأقصى لعدد عناصر التحكم المسموح بها في نموذج واحد على نوع عناصر التحكم المستخدمة وموارد النظام المتوفرة. ومع ذلك، يوجد حد ثابت يبلغ 254 اسمًا لعنصر التحكم فقط مسموحًا بها لكل نموذج. نظرًا لأن جميع عناصر التحكم في الصفيف تشترك في اسم عنصر التحكم، فإن صفيف التحكم يحسب هذا الحد مرة واحدة فقط. في كافة الإصدارات، الحد الأقصى لفهارس صفيف التحكم يقع في النطاق من 0 إلى 32,767. إذا قمت بوضع عناصر تحكم أعلى كل عنصر تحكم، مثل عناصر تحكم الإطار المتداخلة في إطار، فإن Visual Basic بشكل عام لا يقبل سوى ما لا يزيد عن 25 مستوى من عناصر التحكم المتداخلة.
2. القيود المفروضة على الضوابط الخاصة
يسرد الجدول التالي قيود الخصائص لعناصر التحكم الخاصة في Visual Basic.
عناصر تحكم مربع القائمة وListCount وعناصر تحكم مربع التحرير والسرد: الحد الأقصى لعدد العناصر هو 32 كيلو بايت، والحد الأقصى لحجم كل عنصر هو 1 كيلو بايت (1024 بايت)؛
التحكم في مربع النص النصي: يقتصر على 64 كيلو بايت؛
التحكم في تسمية التسمية التوضيحية: يقتصر على 1024 بايت؛
عناصر تحكم زر الأمر، وعناصر تحكم خانة الاختيار، وعناصر تحكم الإطار، وعناصر تحكم زر الخيار: يقتصر على 255 حرفًا، ويتم اقتطاع أي عناوين تتجاوز هذه الحدود؛
عنوان خاصية التحكم المخصص: يقتصر على 32 كيلو بايت
عناصر التحكم في القائمة: تقتصر على 235 حرفًا
وضع علامة على كافة عناصر التحكم: يقتصر على حجم الذاكرة المتوفرة
تسمية جميع عناصر التحكم: يقتصر على 40 حرفًا
لاحظ أنه في Visual Basic، تقتصر أسماء خصائص التحكم على 30 حرفًا.
◆ قيود التعليمات البرمجية ◆
يقتصر إجمالي عدد أسطر التعليمات البرمجية التي يمكن تحميلها في نموذج أو فئة أو وحدة نمطية قياسية على 65.534 سطرًا. يقتصر سطر واحد من التعليمات البرمجية على 1023 بايت. لا يمكن أن يكون هناك أكثر من 256 مسافة بادئة قبل النص الفعلي في السطر، ولا يزيد عن 25 حرفًا متتابعًا للسطر (_) في السطر المنطقي.
1. الإجراءات والأنواع والمتغيرات
لا يوجد حد لعدد الإجراءات لكل وحدة. يمكن أن تحتوي كل عملية على ما يصل إلى 64 كيلو بايت من التعليمات البرمجية. إذا تجاوز الإجراء أو الوحدة النمطية هذا الحد، يقوم Visual Basic بإنشاء خطأ وقت الترجمة. إذا واجهت هذا النوع من الأخطاء، فيمكنك تجنب هذا النوع من الأخطاء عن طريق تقسيم إجراء كبير بشكل خاص إلى عدة إجراءات أصغر أو نقل التصريح على مستوى الوحدة إلى وحدة نمطية أخرى. يستخدم Visual Basic الجداول لتخزين أسماء المعرفات (المتغيرات والإجراءات والثوابت وما إلى ذلك) في التعليمات البرمجية. يقتصر كل جدول على 64 كيلو بايت.
2. جدول إعلان مكتبة الارتباط الديناميكي
تستخدم كل وحدة نمطية للنموذج والتعليمات البرمجية جدولاً يصف بنية نقطة إدخال مكتبة الارتباط الديناميكي. يبلغ حجم كل بنية حوالي 40 بايت، ويقتصر حجم الجدول على 64 كيلو بايت، مما يؤدي إلى حوالي 1500 تعريف لكل وحدة نمطية.
3. قائمة المشاريع
يستخدم التطبيق بأكمله جدولاً يحتوي على كافة الأسماء. وتشمل هذه الأسماء:
· الاسم الثابت
· اسم متغير
· اسم تعريف النوع المخصص
· اسم الوحدة
· اسم إعلان إجراء DLL
لا يوجد حد للحجم الإجمالي لجدول اسم المشروع، ولكن يجب ألا تتجاوز الإدخالات الحساسة لحالة الأحرف 32 كيلو بايت. إذا تم تجاوز حد 32 كيلو بايت، يمكن إعادة استخدام المعرف الخاص في وحدة نمطية مختلفة لتحديد عدد الإدخالات الحساسة لحالة الأحرف إلى 32 كيلو بايت.
4. جدول الإدخال
في كل مرة تتم الإشارة إلى معرف في وحدة نمطية مختلفة، يتم إنشاء إدخال في جدول الإدخال. يبلغ حجم كل إدخال 24 بايت على الأقل، ولكنه يقتصر على 64 كيلو بايت، لذلك يمكن أن تحتوي كل وحدة على 2000 مرجع تقريبًا.
5. جدول إدخال الوحدة
يصل حجم كل وحدة في هذا الجدول إلى 125 بايت، ولكن يوجد حد إجمالي يبلغ 64 كيلو بايت، لذلك يمكن لكل مشروع إنتاج 400 وحدة تقريبًا.
◆تحديد البيانات◆
تنطبق القيود التالية على المتغيرات في لغة Visual Basic.
1. بيانات النموذج والقياسية والفصلية
يحتوي قسم بيانات وحدة VBA (أي البيانات المحددة في قسم الإقرار) لأي نموذج أو وحدة نمطية في Visual Basic على ما يصل إلى 64 كيلو بايت من قسم البيانات، والذي يتضمن البيانات التالية:
· أعلن المتغيرات المحلية مع ثابت
· المتغيرات على مستوى الوحدة النمطية التي ليست صفائف وسلاسل متغيرة الطول
· كل مصفوفة وحدة نمطية وسلسلة متغيرة الطول تشغل 4 بايت
2. الإجراءات والأنواع والمتغيرات
إذا تجاوز الإجراء أو الوحدة النمطية حد التعليمات البرمجية البالغ 64 كيلو بايت، يقوم Visual Basic بإنشاء خطأ وقت الترجمة.
إذا تجاوزت المتغيرات المحلية المحددة في إجراء ما 64 كيلو بايت، فسيتم إنشاء خطأ "عدد كبير جدًا من المتغيرات المحلية غير الثابتة".
إذا كانت المتغيرات على مستوى الوحدة النمطية المحددة في الوحدة النمطية تتجاوز 64 كيلو بايت، أو كان النوع المخصص المحدد أكبر من 64 كيلو بايت، فسيحدث خطأ "لا يمكن أن تتجاوز البيانات الثابتة أو الثابتة 64 كيلو بايت".
إذا واجهت هذا النوع من الأخطاء، فيمكنك تجنب هذا الخطأ عن طريق تقسيم إجراء كبير جدًا إلى عدة إجراءات أصغر أو نقل التصريح على مستوى الوحدة إلى وحدة نمطية أخرى.
لا يمكن للصفائف التي تم تعريفها كمتغيرات استخدام مساحة الصفيف بأكملها؛ وتساهم واصفات الصفيف فقط في الحد الأقصى البالغ 64 كيلو بايت. على سبيل المثال، تم التصريح عنها في إجراء أو كإعلان على مستوى الوحدة النمطية، Dimx(1000000)AsByte. ومع ذلك، إذا قمت بتعريف مجموعة كبيرة من السجلات ذات الحجم الثابت ثم قمت بتعريف مثيلات هذه السجلات كمتغيرات، فمن الممكن أن يحدث تجاوز في الذاكرة.
3. أنواع مخصصة
على الرغم من أن مجموع العديد من السلاسل ذات الطول المتغير من النوع المخصص يمكن أن يتجاوز 64 كيلو بايت (كل سلسلة ذات طول متغير من النوع المخصص تشغل 4 بايت فقط؛ ويتم تخزين المحتوى الفعلي للسلسلة بشكل منفصل)، لا يمكن أن تتجاوز متغيرات النوع المخصص 64 كيلو بايت. يمكن تعريف الأنواع المخصصة مع أنواع مخصصة أخرى، لكن الحجم الإجمالي لهذا النوع لا يمكن أن يتجاوز 64 كيلو بايت.
4. مساحة المكدس
تشغل المعلمات والمتغيرات المحلية أثناء وقت التشغيل مساحة المكدس. لا تشغل المتغيرات على مستوى الوحدة النمطية والمتغيرات الثابتة مساحة المكدس لأنها مخصصة في قسم البيانات في النموذج أو الوحدة النمطية. يستخدم أي إجراء DLL يتم استدعاؤه المكدس عند التنفيذ.
يستخدم Visual Basic نفسه المكدس، على سبيل المثال، لحفظ القيم المتوسطة أثناء تقييم التعبيرات.
إجمالي حجم المكدس المتوفر في Visual Basic هو واحد ميغا بايت (1 ميجابايت) لكل مؤشر ترابط. ومع ذلك، يمكن أن يتجاوز حجم المكدس هذا الحد إذا كان هناك ذاكرة حرة مجاورة.
◆حدود موارد النظام◆
تتأثر بعض قيود Visual Basic والتطبيقات المضمنة به بنظام التشغيل Microsoft Windows. تختلف هذه القيود وفقًا لإصدار Microsoft Windows.
تستخدم كل نافذة مفتوحة موارد النظام (منطقة البيانات التي يستخدمها Microsoft Windows). إذا تم تشغيله خارج نطاق موارد النظام، فسيحدث خطأ وقت التشغيل "الموارد المتوفرة غير كافية لتشغيل Windows". يمكنك تحديد "حول" من قائمة "تعليمات" في "مدير البرامج" أو "مدير الملفات" في نظام التشغيل Windows NT3.51، أو تحديد "حول" من قائمة "تعليمات مستكشف Windows" في نظامي التشغيل Windows 95 وWindows NT4.0. للكشف عن النسبة المئوية لموارد النظام المتبقية. يمكن للتطبيقات أيضًا استدعاء Windows API GetFreeSystemResources لاستعادة موارد النظام وإغلاق النوافذ (مثل النماذج المفتوحة ونوافذ "التعليمات البرمجية" والنوافذ في التطبيقات الأخرى) والخروج من التطبيقات قيد التشغيل.
->