[سوال] اجرا نشدن دستورات آپادانا با تابع SendMessage

loo30fer

کاربر متخصص مولتی مدیا بیلدر
سلام خدمت آقا جاوید
من میخواستم دستورات آپادانا رو با کمک تابع SendMessage اجرا کنم درست به همون نحوی که توی بیلدر انجام میگیره ولی واکنشی ندیدم آیا این امکان توی آپادانا تعریف نشده؟
با تشکر
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
دلیل اینکه تو MMB جواب میده اینه که توسعه دنده ها محلی رو در حافظه درنظر گرفتن که بشه با MMB ارتباط برقرار کرد.

گرچه این قابلیت میتونه مفید باشه، اما بنظرم نباید مثل MMB خام و ابتدایی باشه.
الان میشه توسط تابع SendMessage هر اسکریپتی رو در MMB اجرا کرد، بدون اینکه نیاز باشه از برنامه اجازه ای گرفته بشه.
این یعنی مثلاً خیلی راحت میشه با یه کد ساده، صفحه ی اول که مربوط به رمز عبور هست رو دور زد

به هرحال منظور بنده این هست که باید متد پیشرفته تری برای ارتباط با سایر برنامه ها درنظر گرفته بشه که برای توسعه در آینده مشکلی ایجاد نکنه.
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
دلیل اینکه تو MMB جواب میده اینه که توسعه دنده ها محلی رو در حافظه درنظر گرفتن که بشه با MMB ارتباط برقرار کرد.

گرچه این قابلیت میتونه مفید باشه، اما بنظرم نباید مثل MMB خام و ابتدایی باشه.
الان میشه توسط تابع SendMessage هر اسکریپتی رو در MMB اجرا کرد، بدون اینکه نیاز باشه از برنامه اجازه ای گرفته بشه.
این یعنی مثلاً خیلی راحت میشه با یه کد ساده، صفحه ی اول که مربوط به رمز عبور هست رو دور زد

به هرحال منظور بنده این هست که باید متد پیشرفته تری برای ارتباط با سایر برنامه ها درنظر گرفته بشه که برای توسعه در آینده مشکلی ایجاد نکنه.
بله کاملا درسته جناب Nevercom من هم از این قابلیت بیلدر زیاد راضی نیستم ولی یک مواقعی واقعا میتونه مفید باشه برای مثال برای برای پلاگین دانلود که در نظر گرفته بودم که کاربر یک اسکریپت توی Master Top Layer ایجاد کنه و توی اون اسکریپت PluginGet تعریف کنه که مقدار خروجی رو بگیره که اون مقدار خروجی حاوی میزان پیشرفت کار هست رو با پروگرس به نمایش بگذاره و هر دفعه که قسمتی از فایل دانلود شد میزان درصد به خروجی داده بشه و اون اسکریپت با کمک تابع SendMessage اجرا بشه تا نیازی به مدیریت کاربر نباشه که قصد پیاده سازی چنین چیزی رو در آپادانا داشتم که به جای شی اسکریپت در بیلدر از شی Timer در آپادانا استفاده کنم و اون رو هنگام دانلود Enable و Disable کنم که مشکلی نیست به جاش تو خود اون Timer این عملیات رو مدیریت میکنم.
به هرحال ممنونم.
 

JavidX

Apadana Developer
بله کاملا درسته جناب Nevercom من هم از این قابلیت بیلدر زیاد راضی نیستم ولی یک مواقعی واقعا میتونه مفید باشه برای مثال برای برای پلاگین دانلود که در نظر گرفته بودم که کاربر یک اسکریپت توی Master Top Layer ایجاد کنه و توی اون اسکریپت PluginGet تعریف کنه که مقدار خروجی رو بگیره که اون مقدار خروجی حاوی میزان پیشرفت کار هست رو با پروگرس به نمایش بگذاره و هر دفعه که قسمتی از فایل دانلود شد میزان درصد به خروجی داده بشه و اون اسکریپت با کمک تابع SendMessage اجرا بشه تا نیازی به مدیریت کاربر نباشه که قصد پیاده سازی چنین چیزی رو در آپادانا داشتم که به جای شی اسکریپت در بیلدر از شی Timer در آپادانا استفاده کنم و اون رو هنگام دانلود Enable و Disable کنم که مشکلی نیست به جاش تو خود اون Timer این عملیات رو مدیریت میکنم.
به هرحال ممنونم.
سلام
بله حق با شماست این قابلیت خوبه ولی نه با SendMessage!! نمیدونم چرا سازنده ی بیلدر راه بهتر از این متد پیدا نکرده!
یه فکری در این مورد برای آپادانا دارم که اگه جواب بده عالی میشه.
موفق باشید
 

m javad

کاربر متخصص
من میخواستم دستورات آپادانا رو با کمک تابع SendMessage اجرا کنم درست به همون نحوی که توی بیلدر انجام میگیره ولی واکنشی ندیدم آیا این امکان توی آپادانا تعریف نشده؟

تابع SendMessage یکی از توابع API ویندوز هست و نیازی به تعریف برای برنامه ای نداره. البته به غیر از مواردی که نیاز به دریافت اطلاعات از طرف برنامه مقصد باشه
مثلا شما میتونید مثل همه برنامه های معمول با همین تابع دستور کلیک رود دکمه ها و تغییر عنوان و .... رو به برنامه های ساخته شده با آپادانا بدید.
به نظرم یکی از مزایای بیلدر همین نداشتن هندل و کلاس برای اشیا داخلش هست
شاید معایب بزرگی رو به همراه داره، ولی مزایای ریز و جالبی داره

الان میشه توسط تابع SendMessage هر اسکریپتی رو در MMB اجرا کرد، بدون اینکه نیاز باشه از برنامه اجازه ای گرفته بشه.
این یعنی مثلاً خیلی راحت میشه با یه کد ساده، صفحه ی اول که مربوط به رمز عبور هست رو دور زد
البته نه همیشه
اگر سازنده برنامه حواسش به این موارد ضعف بیلدر باشه با کد نویسی میشه جلوش رو گرفت

بله حق با شماست این قابلیت خوبه ولی نه با SendMessage!! نمیدونم چرا سازنده ی بیلدر راه بهتر از این متد پیدا نکرده!
آخه این ساده ترین راه بوده که سازنده به دردسر نیفته:green:

یه فکری در این مورد برای آپادانا دارم که اگه جواب بده عالی میشه.
منتظرش هستیم جاوید جان
 

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

بالا