Fa قسمت از کد بصورت inline

Mamadex

Member
سلام
در MMB وقتی در جایی از کد یک شی، اسکریپت یک شی دیگر را فراخوانی کند این عملیلات بخوبی صورت می گیرد (یکی پس از دیگری) ولی آیا می شود این کد ها قسمتی از کد منبع شوند؟ اگر این کار را با RunScriptCode انجام دهیم با خطا تابع روبرو می شود. این مطلب در مورد دستورات break و مخصوصاً return کاربرد دارد. برای مثال شی دوم return را اجرا کرد، شی اول به ادامه کد را انجام ندهد.
با تشکر
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
مطمئن نیستم درست متوجه منظورتون شدم یا نه، اما اگر منظورتون این هست که مثلاً ما قسمتی از کدها رو در یک اسکریپت دیگه بنویسیم و در بین دها اون اسکریپت رو صدا بزنیم (یه چیزی شبیه توابع در زبان های برنامه نویسی) و اگر در اون اسریپت خاص یک دستور Return اجرا بشه، علاوه بر اون اسکریپت، اسکریپتی قبلی هم متوقف بشه، به احتمال زیاد اینطور نخواهد شد !
چون دستور Return اسکریپت جاری رو متوقف میکنه و از ادامه ش جلوگیری میکنه، و هرگاه ما یک اسکریپت رو در یک کد فراخوانی کنیم (با دستور RunScript)، دهای بعد از اون دستور، تا قبل از پایان اسکریپت اجرا نمیشن، و با اتمام اسکریپت، ادامه ی کد اجرا میشه.

اما اگر واقعاً نیاز هست که اینطور بشه، بجای استفاده از Return در اون اسکریپت، متغیرهایی رو مقداردهی کنید و در کدهای اصلی دستورات شرطی بزارید که اگر فلان متغیر مقدارش مثلاً TRUE بود، دستور Return اجرا بشه.
 

Mamadex

Member
مطمئن نیستم درست متوجه منظورتون شدم یا نه، اما اگر منظورتون این هست که مثلاً ما قسمتی از کدها رو در یک اسکریپت دیگه بنویسیم و در بین دها اون اسکریپت رو صدا بزنیم (یه چیزی شبیه توابع در زبان های برنامه نویسی) و اگر در اون اسریپت خاص یک دستور Return اجرا بشه، علاوه بر اون اسکریپت، اسکریپتی قبلی هم متوقف بشه، به احتمال زیاد اینطور نخواهد شد !
چون دستور Return اسکریپت جاری رو متوقف میکنه و از ادامه ش جلوگیری میکنه، و هرگاه ما یک اسکریپت رو در یک کد فراخوانی کنیم (با دستور RunScript)، دهای بعد از اون دستور، تا قبل از پایان اسکریپت اجرا نمیشن، و با اتمام اسکریپت، ادامه ی کد اجرا میشه.

اما اگر واقعاً نیاز هست که اینطور بشه، بجای استفاده از Return در اون اسکریپت، متغیرهایی رو مقداردهی کنید و در کدهای اصلی دستورات شرطی بزارید که اگر فلان متغیر مقدارش مثلاً TRUE بود، دستور Return اجرا بشه.
آخر سر هم متغیرـَرو False بکن ;)

بله، منظورم همین بود. ولی چقدر روش جایگزین، کلک بازی، اینو بگیر اونو بده. مگه تو ویژوال سی جرئت داری از این کارا بکنی :lol: ولی به هر حال، ظاهراً جز این کاری نمی توان کرد و فعلا باید به همین روش برنامه ها را پیش برد.
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا