يمكن لقائمة عرض أن تُظهر مئة وكيل بينما يظل TIdHTTP يستخدم الوكيل نفسه. اختيار صف يغيّر الواجهة؛ ولا يتغيّر مسار الطلب التالي إلا بعد أن تصل نقطة النهاية المختارة إلى إعداد عميل HTTP.

لتنزيلات HTTP العامة، يمكن أن توفّر المدخلات من قائمة وكلاء HTTP نقاط نهاية مرشحة. احتفظ بمضيف ومنفذ صحيح خلف كل مدخل معروض. وعند قبول الاختيار، طبّق الاثنين قبل بدء التنزيل:

IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);

يفترض هذا المقتطف عميلًا خاملًا ونقطة نهاية مُتحقَّقًا منها والمتغيرات الموجودة في التطبيق. يبقى عنوان URL الهدف هو الموقع. ويأخذ حقل مضيف الوكيل اسم مضيف، لا عنوان الموقع ولا تسمية عرض.

يحتاج الاختيار إلى ثلاث نتائج محتملة

  • اختيار وكيل صالح يوفّر مضيفًا ومنفذًا من 1 إلى 65535.
  • اختيار «مباشر» الصريح يمسح مضيف الوكيل للطلب التالي.
  • الاختيار غير الصالح أو المفقود يترك الإعداد الحالي سليمًا ويطلب من المستخدم تصحيحه.

إبقاء هذه النتائج منفصلة يمنع صفًا غير محدد من إرسال الطلب التالي مباشرة بشكل غير متوقع. عطّل زر الطلب ما دام الاختيار الجديد غير مكتمل.

إذا وصلت نقاط النهاية كنص، فحلّلها وتحقق منها قبل تغيير أي من الخاصيتين. يتيح TryStrToInt للواجهة الإبلاغ عن منفذ غير صالح دون استثناء تحويل غير معالَج. والتقسيم عند النقطتين الأوليين يصلح فقط لتنسيق اسم مضيف أو IPv4 محدود عن قصد: عنوان IPv6 يحتوي على نقطتين خاصتين به. وحقل مضيف منفصل وحقل منفذ يجعلان التمثيل المخزَّن أبسط.

لا تدع نقرة في الواجهة تعدّل عميلًا يستخدمه عامل بالفعل. طبّق الاختيار بين العمليات، أو امنح كل عملية متزامنة عميلًا مُعدًّا خاصًا بها. تتحكم أداة الاختيار في الاتصالات المستقبلية؛ ولا يمكنها نقل نقل قائم إلى مخرج آخر.

مقالات ذات صلة