- 0
برای دنبال کردن، ابتدا وارد شوید
دنبال کنندگان
0
امتیاز دادن به این سوال:
1 پاسخ به این سوال تا کنون داده شده است
پست های پیشنهاد شده
برای دنبال کردن، ابتدا وارد شوید
دنبال کنندگان
0
-
کاربران آنلاین در این صفحه 0 کاربر
هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
با سلام
من DLLای دارم که با یک برنامه Win32 داده هایی را ردو بدل می کند لذا هنگام load شدن چک میکند تا اگر آن APPWin32 در حال اجرا نباشد آنرا از طریق دستور زیر اجرا کند.
حال اگر برنامه APPWin32 بطور جداگانه اجرا شود. هر چند بار که آن DLL برای اجرا load شوند امکان مشکلی پیش مشاهده نمی شود. حتی اتمام کار آنها.
حال فرض کنیم APWin32 در حال اجرا نباشد. وقتی DLL اول load میشود چون APPWin32 در حال اجرا نیست آنرا با روش گفته شده در با لا اجرا میکند و ادامه کار ...
در ادامه وقتی DLL های بعدی load می شوند چون از قبل AppWin32 در حال اجرا بوده اقدام به اجرای آن نمیکنند و ادامه کار صورت میگیرد.
وقتی dllهای دوم به بعد کارشان خاتمه پیدا میکند و از حافظه خارج میشوند مشکلی در ادامه حتی load شدن dllهای جدید نمیشود.
حال اگر dll اول کارش خاتمه یابد و از حافظه خارج شود. دیگر dll ها نمیتوانند کارشان را به دستی انجام دهند حتی صفحه ui آنها به اصطلاح frezz میکنند و حتی اجازه Load شدن به Dll جدید داده نشده و آن هم Frezz می شود.
برنامه را با VS2017 نوشته ام و روی Windows 10 مشکلی نیست ولی اگر آنرا روی Windows XP اجرا کنیم این مشکل مشاهده می شود "در VS2017 نوع SDK را نسخه 7.0 و Platform Toolset را Windows XP (v141_xp) تنظیم کرده ام ".
بنظر شما مشکل چیست؟
لازم به ذکر است در حالتی که سیستم frezz شده آن APPWin32 را از حافظه خارج کنم برنامه ها از حالت frezz خارج می شوند!
به اشتراک گذاری این ارسال
لینک به ارسال
به اشتراک گذاری در سایت های دیگر