شاید فکر کنید اینطوری دارید امنیت رو بیشتر می کنید ولی در نظر بگیرید که هر چقدر اجزاء خارجی (کتابخانه ها، کمپوننت ها، فایل ها) دخیل در ماجرا رو بیشتر کنید احتمال لو رفتن روتین تون بیشتر میشه.
یکی از روش های اجرای کد پویای ویژوال بیسیک، استفاده از Script Control ئه. در منوی Project ویژوال بیسیک با گزینه Components (ترکیب کلیدی Ctrl + T) کمپوننت Microsoft Script Control رو پیدا کنید و تیک بزنید و OK کنید.
کمپوننت اش به Toolbox اضافه میشه، از داخل Toolbox (از همونجا که TextBox و CommandButton رو برمیدارید) یک نمونه اش رو روی فرم برنامه تون قرار بدید که اسم پیشفرض اش ScriptControl1 میشه.
حالا اول اون اشیاء ای که در دستورهاتون لازم میشن رو برایش تعریف کنید، مثلا :
ScriptControl1.AddObject Form2.Name, Form2
این سطر بالا میگه ما شیء Form2 رو با نام "Form2" در اون ScriptControl1 معرفی کردیم. حالا ScriptControl1 در هر فرمانی که اجرا کنه، میدونه که معنی عبارت "Form2" چیه و به Form2 اشاره می کنه.
بعد می توانید دستوری رو اجرا کنید، مثلا :
ScriptControl1.ExecuteStatement Text1.Text
دقت کنید که ScriptControl1 مستقل از برنامه شما است، مثلا اگه قبلا با AddObject بهش Command1 رو معرفی نکنید، نمیدونه Command1 چه معنی ای داره و اگر در دستورتون اسمی از Command1 برده بشه، به عنوان یک عبارت ناشناخته شناسایی اش می کنه :
ScriptControl1.AddObject Comman1.Name, Command1