PDA

View Full Version : کد برگشت صفحات در یک DLL



javad_rajabloo
دوشنبه 11 دی 1391, 23:20 عصر
سلام

من یه برنامه نوشتم (با دلفی 7) که خیلی صفحه داره ( حدود 50 تا فرم)

یه موردی هست که اگه کاربری در یکی از این صفحات ، 2 دقیقه به ماوس و کیبرد دست نزد ، برنامه بیاد صفحه اصلی

حالا میشه اون کد تشخیص رو در یک dll نوشت و لود کرد در برنامه؟

یعنی به محض ورود به صفحه ، اون dll فراخوانی بشه

در حالت اصلی از تایمر در هر صفحه می خوام استفاده کنم که فعال / غیر فعال دونه دونه واقعا مشکله

اگه غیر از اینها راه حل دیگه ای دارید پیشنهاد بدید
ممنون

یوسف زالی
سه شنبه 12 دی 1391, 00:26 صبح
سلام.
شما می تونی یک MasterForm درست کنی و تمام فرم های برنامه رو از اون مشتق کنی.
تطبیقش کار نیم ساعته.
در اون مستر فرم در Protected یک متغیر مثلا به نام LastRef می گیری.
در OnCreate فرم مستر اون رو مثلا می گذاری GetTickCount + 10000.
در فرم اصلی یک TApplicationEvents می گذاری و در رویداد OnMessage با پیدا کردن فرمی که داره مسیج رو میگیره متغیر LastRef اون فرم رو ریست می کنی. یعنی همون که تو OnCreate گذاشتی.
حالا تو فرم اصلی باید از یک تایمر استفاده کنی تا ببینی آیا همه فرم ها به GetTickCount رسیدند یا نه.
اگر همه رسیده بودند یعنی برنامه Idle شده.

فکر کنم راهی که ساعت 1 به ذهن آدم برسه از این بهتر نباید بشه!!