PDA

View Full Version : پروژه های دارای bpl



SADAF
پنج شنبه 13 بهمن 1384, 17:41 عصر
سلام دوستان
پروژه ای دارم که بخشهای مختلف آن را در پکیج های مختلفی جای داده ام. EXE اصلی برنامه یکی از این پکیج ها را به صورت RunTime استفاده (use ) کرده است . در زمان اجرا بنا به نیاز به هر فرم اگر پکیج مربوط به آن فرم Load نشده باشد ابتدا پکیج لود می شود و سپس از فرم استفادده می شود.
در انتها که پروژه terminate می شود حافظه تمام پکیجها هم آزاد می شود.
ایراد پروژه ام این است که بسیار زیاد قفل میکند. اگر برنامه باز باشد و مدتی (دقایقی) به برنامه کاری نداشته باشیم و برنامه های دیگر ویندوز را اجرا کنیم وقتی به برنامه برگردیم با برنامه هنگ کرده روبه رو هستیم . فکر می کنید علت چیست ؟ کسی از BPL ها برای ماژوله کردن پروژه های بزرگ استفاده کرده ؟

Touska
پنج شنبه 13 بهمن 1384, 18:39 عصر
من استفاده کردم ولی تا حالا به این مشکل بر نخوردم و سئوال bpl رو به چه روشی load می کنید.

SADAF
پنج شنبه 13 بهمن 1384, 18:53 عصر
با دستور LoadPackage

vcldeveloper
جمعه 14 بهمن 1384, 07:51 صبح
BPL ها در واقع همون فایلهای DLL هستند و باید در استفاده از اونها همون نکات مربوط به DLL ها را در نظر بگیرید

SADAF
شنبه 07 اردیبهشت 1387, 16:00 عصر
من بعد از گدشت بیش از دو سال هنوز این مشکل رادارم !!! (حتی این مشکل خود را در تاپیک دیگری هم مطرح کرده ام)
منظورتون چه جور نکاتی است که باید رعایت کنم ؟ اگر میشه بیشتر توضیح بدهید .
ممنوم

B-Vedadian
شنبه 07 اردیبهشت 1387, 20:24 عصر
استفاده از مدیریت حافظه مناسب.

متدهای معمول مدیریت حافظه برلند دلفی 7 با DLL ها مشکل دارند. البته نمی دونم این میتونه ربطی به Package ها پیدا کنه یا نه؟!

برای انداختن تیری در تاریکی! میتونید از fastsharemem استفاده کنید. توی پروژه اصلی قبل از هر چیزی این رو به uses اضافه کنید:متفکر:.

vcldeveloper
شنبه 07 اردیبهشت 1387, 22:27 عصر
متدهای معمول مدیریت حافظه برلند دلفی 7 با DLL ها مشکل دارند. البته نمی دونم این میتونه ربطی به Package ها پیدا کنه یا نه؟!

با DLL مشکل ندارند، با استفاده از نوع داده های دینامیک مخصوص دلفی (مثل Dynamic Array و string) در DLL مشکل دارند.
در هر حال استفاده از FastShareMem اکیدا توصیه میشه، چون نه تنها مشکل ذکر شده رو نداره، کارایی بهتری هم از ShareMem دلفی ارائه میده

B-Vedadian
شنبه 07 اردیبهشت 1387, 22:45 عصر
آقای کشاورز مته به خشخاش نگذارید:اشتباه:
منظور من هم همین بود.

حالا یک سئوال در همین راستا، برای Packageهای خود دلفی هم میتونه این موضوع ایجاد مشکل کنه؟ (منظورم انتقال انواع داده دینامیک هستش)

vcldeveloper
شنبه 07 اردیبهشت 1387, 23:11 عصر
حالا یک سئوال در همین راستا، برای Packageهای خود دلفی هم میتونه این موضوع ایجاد مشکل کنه؟ (منظورم انتقال انواع داده دینامیک هستش)
خیر. BPL ها چون مخصوص دلفی هستند، همچین مشکلی ندارند، حتی می تونید ازشون کلاس هم بدون مشکل Export کنید توی برنامه دلفی.

SADAF
چهارشنبه 11 اردیبهشت 1387, 15:02 عصر
فايل موردنظر تنها تاثيري كه در پروژه ام گذاشته است اينه كه هنگام قفل برنامه (كه پا برجاست!!!) ظاهر كل پروژه سفيد رنگ نمي شود و فرمها به رنگ و روي خود باقي مي مانند!!!

راستي يك Application چه مشكلاتي مي تونه داشته باشه كه ويندوز به اون پاسخي نده ؟ًً

vcldeveloper
چهارشنبه 11 اردیبهشت 1387, 15:40 عصر
راستي يك Application چه مشكلاتي مي تونه داشته باشه كه ويندوز به اون پاسخي نده ؟ًً
واقعا انتظار دارید برای همچین سوال کلی، یک جواب مشخص دریافت کنید؟!

SADAF
چهارشنبه 11 اردیبهشت 1387, 16:58 عصر
من به دنبال يك (يك) جواب مشخص نيستم.

B-Vedadian
چهارشنبه 11 اردیبهشت 1387, 20:05 عصر
موقعي که برنامه Hang کرد، دکمه pause رو تو IDE دلفي بزنيد. بعدش از View و Debugging Windows پنجره Call Stack رو باز کنيد تا ببينيد خطا از کجا آب ميخوره.

علاوه بر آن يک ابزار براي ردگيري خطاهاي برنامه هست که براي استفاده بايد MemChk رو هم بايد داشته باشيد.

http://www.jirihajek.net/delphi/ExceptLog.htm

با استفاده از اين ابزار و قرار دادن يک تايمر که قبل قفل اجراش ميکنيد که بعد مدت مشخصي Exception توليد کنه و يا با ايده همين ExceptLog و تغيير دادن اون، مشکل رو ريشه يابي کنيد.

amin_randy
جمعه 15 آذر 1387, 12:20 عصر
من هم دقیقا این مشکل bpl ها رو دارم خواهش میکنم اگه کسی میدونه بهم mail بزنه:alber_camo@yahoo.com

Mohammad_Mnt
جمعه 15 آذر 1387, 15:13 عصر
امین جان، اگه کسی بدونه همین جا می نویسه، این جا فورم است نه لیست پستی

pad_kay
دوشنبه 18 آذر 1387, 10:56 صبح
من هم دقیقا این مشکل bpl ها رو دارم خواهش میکنم اگه کسی میدونه بهم mail بزنه:alber_camo@yahoo.com

لطفا بیشتر توضیح دهید و یا برنامه ای نوشته اید را قرار دهید
من تا حالا مشکل خاصی با bpl نداشته ام