View Full Version : حجم بالای فایل اجرایی
MNosouhi
شنبه 15 فروردین 1394, 10:35 صبح
با سلام
می خواهم برنامه ای با شرایط زیر بنویسم :
تعداد جداول : حدودا 400 عدد
تعداد فرم ها : حدودا 300 عدد
تعداد کاربران : حدودا 250 کاربر
این برنامه باید تحت ویندوز (و نه تحت وب) نوشته بشه . تنها نگرانی من از احتمال بالا بودن فایل Exe برنامه است که ممکن است جهت اجرا بر روی بعضی از رایانه ها ایجاد مشکل کنه . آیا می تونم به جای یک فایل اجرایی(Exe) ، چند فایل اجرایی داشته باشم و هر کدوم را در در صورتی که نیاز شد درون برنامه اصلی load کنم . طوری که کاربر تصور کنه که فقط یک فایل exe در حال اجراست.
BORHAN TEC
شنبه 15 فروردین 1394, 12:33 عصر
با سلام،
روشهای خیلی زیادی در این خصوص وجود داره که یکی از اونها رو قبلاً در ویدئوی زیر توضیح داده ام:
http://www.irstu.com/?p=1748
قبلاً در خصوص نرم افزار مربوط به یک شرکت که به گفته سازندگانش برای تولیدش حدود 2 میلیون و 700 هزار خط کد دلفی نوشته شده بود رو با استفاده از روش Build with rutime package تونستیم حجم فایل Exe مربوطه رو از 64 مگابایت به 14 مگابایت کاهش بدیم. ولی در خصوص برنامه های به این بزرگی به نظرم باید برنامه حالت پلاگینی داشته باشه و فقط شامل یک فایل اجرایی نباشه چرا که توی این حالت به دلیل بزرگ بودن فایل اجرایی آپدیتش رو خیلی سخت میکنه.
موفق باشید.
یوسف زالی
شنبه 15 فروردین 1394, 13:11 عصر
سلام.
تا می تونید از افزودن گلیف و بیت مپ خودداری کنید، و اگر مجبور شدید، بصورت ران تایم همه رو از یک فرم لود کنید. همین کار باعث کاهش چند مگی برنامه می شه.
MNosouhi
شنبه 15 فروردین 1394, 13:54 عصر
با سلام،
روشهای خیلی زیادی در این خصوص وجود داره که یکی از اونها رو قبلاً در ویدئوی زیر توضیح داده ام:
http://www.irstu.com/?p=1748
قبلاً در خصوص نرم افزار مربوط به یک شرکت که به گفته سازندگانش برای تولیدش حدود 2 میلیون و 700 هزار خط کد دلفی نوشته شده بود رو با استفاده از روش Build with rutime package تونستیم حجم فایل Exe مربوطه رو از 64 مگابایت به 14 مگابایت کاهش بدیم. ولی در خصوص برنامه های به این بزرگی به نظرم باید برنامه حالت پلاگینی داشته باشه و فقط شامل یک فایل اجرایی نباشه چرا که توی این حالت به دلیل بزرگ بودن فایل اجرایی آپدیتش رو خیلی سخت میکنه.
آیا شما این روش را تست کرده اید ؟ استفاده از این روش باعث کاهش سرعت برنامه یا اختلالات دیگر نمی شود؟
BORHAN TEC
شنبه 15 فروردین 1394, 22:02 عصر
آیا شما این روش را تست کرده اید ؟ استفاده از این روش باعث کاهش سرعت برنامه یا اختلالات دیگر نمی شود؟
بله، قبلاً در برنامه ای از RemObjects Hydra استفاده کرده بودم که از حدود 120 پلاگین تشکیل شده بود. مشکل خاصی هم وجود نداشت و تقریباً همه چیز خوب بود. توی این روش برنامه سنگین نمیشه و فقط موقعی که نیاز باشه یه ماجول رو لود میکنیم.
MNosouhi
یک شنبه 16 فروردین 1394, 09:01 صبح
متشکر از جوابتون
روشهای خیلی زیادی در این خصوص وجود داره
در صورت امکان اشاره ای به سایر روش ها هم بکنید.
nilidelphi
یک شنبه 16 فروردین 1394, 12:29 عصر
به نظر من بهترین روش استفاده صحیح از DLL است
روش تحقیق کنید حتما جواب میگیرید
با این روش فایل اصلی اجرایی شما فقط چند مگابایت خواهد بود
MNosouhi
دوشنبه 17 فروردین 1394, 06:42 صبح
جناب BORHAN TEC
چه فرقی میان استفاده از dll و استفاده از hydra است ؟ ظاهرا خود hydra هم از روش dll استفاده می کند.
golbafan
دوشنبه 17 فروردین 1394, 08:32 صبح
جناب BORHAN TEC
چه فرقی میان استفاده از dll و استفاده از hydra است ؟ ظاهرا خود hydra هم از روش dll استفاده می کند.
همینطوره که میفرمایید اما هیدرا بهینه سازی شده
روش دیگه استفاده از bpl هست
hadisalahi2
دوشنبه 17 فروردین 1394, 09:54 صبح
من خودم یک برنامه اتوماسیون اداری نوشته بودم که حدود 65 مگ بود
بعد اومدم با یک برنامه کمپرسور ، اون رو کد کردم و حجم برنامه شد 14 مگا بایت
هیچ مشکلی هم توی استفاده پیدا نشده و الان هم از برنامه توی اداره راه و شهرسازی استفاده می کنند
اگه مشکل توی حجم باشه ، این روش هم میتونه مفید باشه
سیستم های اونها هم تقریبا همه دیزلی بود :لبخند:
meysam_212
سه شنبه 12 خرداد 1394, 01:27 صبح
با سلام،
روشهای خیلی زیادی در این خصوص وجود داره که یکی از اونها رو قبلاً در ویدئوی زیر توضیح داده ام:
http://www.irstu.com/?p=1748
قبلاً در خصوص نرم افزار مربوط به یک شرکت که به گفته سازندگانش برای تولیدش حدود 2 میلیون و 700 هزار خط کد دلفی نوشته شده بود رو با استفاده از روش Build with rutime package تونستیم حجم فایل Exe مربوطه رو از 64 مگابایت به 14 مگابایت کاهش بدیم. ولی در خصوص برنامه های به این بزرگی به نظرم باید برنامه حالت پلاگینی داشته باشه و فقط شامل یک فایل اجرایی نباشه چرا که توی این حالت به دلیل بزرگ بودن فایل اجرایی آپدیتش رو خیلی سخت میکنه.
موفق باشید.
من چندبار خواستم اینکارو بکنم اما به مشکل خوردم اگه میشه به مقدار جزیی تر توضیح بدین
MNosouhi
شنبه 04 مهر 1394, 10:59 صبح
جناب BORHAN TEC
Connection نرم افزار را در یک DataMadule و در برنامه اصلی قرار داده ام . فرم های نرم افزار را هم دسته بندی کرده و در تعداد ی پلاگین قرار دادم . حال می خواهم عناصر TQuery و TTable موجود در پلاگین ها از Connection موجود در برنامه اصلی جهت اتصال به دیتابیس استفاده نماید. در صورت امکان راهنمایی بفرمایید .
با تشکر
BORHAN TEC
شنبه 04 مهر 1394, 11:41 صبح
با سلام،
ببینید شما میتونید در برنامه اصلی تابعی قرار بدید که یک کانکشن برگشت بده. و بعدش هم میتونید از اون کانکشن در پلاگینها استفاده کنید. انجام این کار راحته و با دیدن مستندات hydra به راحتی قابل انجامه. قبلاً یک فیلم آموزشی در مورد hydra ساخته بودم که اگه درست یادم مونده باشه در اون فیلم ساخت توابع اینچنینی رو توضیح دادم:
http://www.irstu.com/?p=1748
همانطور که میدونید توی hydra باید از مکانیزم Interface استفاده کنید. فرقی هم نمیکنه که این تابع توی پلاگین باشه یا برنامه اصلی. شما به راحتی میتونید از برنامه اصلی به توابع داخل پلاگین دسترسی پیدا کنید و یا برعکس. در هر دو صورت روش کار یکیه.
موفق باشید...
MNosouhi
یک شنبه 05 مهر 1394, 07:25 صبح
سلام
از راهنماییی شما ممنون . مشکل از کامپوننت SDAC بود . ظاهرا SDAC با Hydra سازگاز نیست . وقتی بخواهیم مثلا TMSConnection از SDAC را بصورت پارامتر به پلاگین منتقل کنیم با خطا مواجه می شویم . در حالی که با ADO چنین مشکلی را نخواهید داشت . در کل SDAC در نسخه های جدیدش مشکلات زیادی داره ، ( مثلا با XP SP3 در Limited Domain هم با با پیغام خطا مواجه می شوید ، در حالی که با XP SP2 بدون مشکل کار می کند)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.