ورود

View Full Version : cannot load package it contains unit which is also contained in package



mehran72
سه شنبه 05 آذر 1392, 08:47 صبح
سلام
من دو تا BPL دارم که در هر دوی آنها از فشرده سازی با Zlib استفاده می کنم . برای این منظور ، یونیتهای Zlib و UtilityPasZlib رو به قسمت uses اون یونیتهایی از هر دو BPL که لازم داشتم اضافه کردم .
مشکل من اینه که وقتی پکیج اول رو از برنامه اصلی فراخوانی میکنم و هنوز تو حافظه است (Unload نشده ) موقع فراخوانی پکیج دوم که Zlib رو داره با پیغام خطای زیر مواجه میشم :
delphi cannot load package ... it contains unit 'UtilityPasZlib' , which is also contained in package ...
من زیاد سرچ کردم . یه سری گفته بودن که تو قسمت Requires های همون پکیج بیارم ، ولی اونجا هم فایلهای DCP رو اضافه میکنه ، در صورتی که من فایل pas , Dcu از zlib دارم .
در ضمن Delphi 7 کار میکنم .
ممنون از وقتی که میگذارید .

hadisalahi2
چهارشنبه 06 آذر 1392, 12:05 عصر
مگه نسخه کامل کامپوننت رو نداری؟

mehran72
یک شنبه 10 آذر 1392, 07:00 صبح
سلام
نه متاسفانه ، هر چی هم سرچ کردم پیدا نکردم .
لطفا اگه دارید بذارید و یا لینکش رو بذارید .
در ضمن این یه مساله کلیه که استفاده از هر یونیت مشترک در دو BPL باعث بروز چنین خطایی میشه . باز ممنون

mehran72
دوشنبه 11 آذر 1392, 12:06 عصر
سلام
مشکل من حل شد . این راه حل کلی برای حل این گونه مشکلات هست .
برای حل مشکل میبایست یه پکیج جدید درست کرد و یونیت مشترک ( در اینجا UtilityPasZlib) رو درون اون پکیج قرار داد و این پیکیج جدید رو به قسمت Requires پکیجهایی که از این یونیت مشترک استفاده میکنن اضافه کرد .