PDA

View Full Version : سوال: چندتا dll طراحی کردم و تو فرم اصلی یه پروژه گذاشتم " اما همزمان لود نمیشن و از نظر گرافیک جالب نمیش



aftabeshargh
دوشنبه 07 فروردین 1391, 22:19 عصر
سلام
چندتا dll طراحی کردم و تو فرم اصلی یه پروژه گذاشتم " اما موقع اجرای پروژه و لود فرم اصلی " این dll ها همزمان لود نمیشن و از نظر گرافیک جالب نمایش داده نمیشه
از تایمر استفاده کردم که بعد از یه تایمی visible همه شون با هم true بشه " اما بازم نمیشه
به نظر شما چیکارش کنم؟

فرید نجفلو
دوشنبه 07 فروردین 1391, 23:17 عصر
شما تازه گی ها مشابه همین سوال رو نپرسیده بودید؟!
دیر باز شدن صفحه کریستال در برنامه (در اولین اتصال) (http://barnamenevis.org/showthread.php?333441-دیر-باز-شدن-صفحه-کریستال-در-برنامه-(در-اولین-اتصال))

ROSTAM2
دوشنبه 07 فروردین 1391, 23:31 عصر
visible چی شما که گفتین dll ساختین یعنی داینامیک لینک لایبراری Dynamik link library می شه کل موضوع جزئی تر توضیح بدی
بعد بگو چه جوری قراره لود بشن اصلا چجوری تعریف کردی؟

aftabeshargh
دوشنبه 07 فروردین 1391, 23:56 عصر
سلام

شما تازه گی ها مشابه همین سوال رو نپرسیده بودید؟!
دیر باز شدن صفحه کریستال در برنامه (در اولین اتصال) (http://barnamenevis.org/showthread.php?333441-%D8%AF%DB%8C%D8%B1-%D8%A8%D8%A7%D8%B2-%D8%B4%D8%AF%D9%86-%D8%B5%D9%81%D8%AD%D9%87-%DA%A9%D8%B1%DB%8C%D8%B3%D8%AA%D8%A7%D9%84-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%28%D8%AF%D8%B1-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84%29)درسته بحث یر باز شدن صفحه کریستال (http://barnamenevis.org/showthread.php?333441-%D8%AF%DB%8C%D8%B1-%D8%A8%D8%A7%D8%B2-%D8%B4%D8%AF%D9%86-%D8%B5%D9%81%D8%AD%D9%87-%DA%A9%D8%B1%DB%8C%D8%B3%D8%AA%D8%A7%D9%84-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%28%D8%AF%D8%B1-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84%29) رو من نوشته بودم " اما ارتباطی به این تایپیک نداره دوست خوبم

خوب تو windowscontrollibrary چند تا کنترل طراحی کردم و تو فرم یه پروژه دیگه قرار دادم
اما موقع بالا اومدن دیر (نه که زیاد) ظاهرشون درست میشه


یه dll ساده که از چندتا پنل و لیبل و تکست باکس درست شده (همین :لبخند:) به کلیک رو لیبل عنوان پنل اندازش زیاد کم میشه
عکس دومی هنگام لود شدنه که بدجور میاد بالا و عکس اول لود کامل هستش (که البته منو اولش رو برا نمایش باز کردم)

ROSTAM2
سه شنبه 08 فروردین 1391, 00:21 صبح
مگه نه اینکه شما به اون اشیاء احتیاج دارید تا وارد فرم برنامه کنید
اگه ساخت تو پروژه مجزا نیاز مبرم نیست می تونی با اضافه کردن یک User Control به همین پروژه و ایجاد اشیائتون با یک بار Build کردن پروژه اون رو در قسمت اشیاء toolbox داشته باشید بنظر من اینجوری راحت تر روش کنترل داری

aftabeshargh
سه شنبه 08 فروردین 1391, 00:53 صبح
ممنون از توجه شما
میشه واضح تر بگید :متفکر:

koorosh-soft
سه شنبه 08 فروردین 1391, 01:02 صبح
اول یه progress بار بیار بالا مثلا 10 ثانیه ! همزمان فرمت رو هم visible لود کد بعد 10 ثانیه visible رو True کن این بدترین و ساده ترین راهه!
راه دیگه هم اینه که برای کنترل هایی که ساختی Event تعریف کنی و وقتی از لود کاملش مطمئن شدی لود کنی :بامزه:

aftabeshargh
سه شنبه 08 فروردین 1391, 01:11 صبح
ول یه progress بار بیار بالا مثلا 10 ثانیه ! همزمان فرمت رو هم visible لود کد بعد 10 ثانیه visible رو True کن این بدترین و ساده ترین راهه!

این کار رو انجام دادم " اما به دلایلی (که خودمم نمیدونم:گیج:) بازم بد ظاهر میشن !!

راه دیگه هم اینه که برای کنترل هایی که ساختی Event تعریف کنی و وقتی از لود کاملش مطمئن شدی لود کنی

دقیقا منظورم اینه که چطور بفهمم که برنامه (یا DLL ی) لود شده " که بعدش نمایشش بدم ؟

koorosh-soft
سه شنبه 08 فروردین 1391, 01:15 صبح
اول یه progress بار بیار بالا مثلا 10 ثانیه ! همزمان فرمت رو هم visible لود کد بعد 10 ثانیه visible رو True کن این بدترین و ساده ترین راهه!
راه دیگه هم اینه که برای کنترل هایی که ساختی Event تعریف کنی و وقتی از لود کاملش مطمئن شدی لود کنی :بامزه:

ROSTAM2
سه شنبه 08 فروردین 1391, 01:29 صبح
توی project explorer روی پروژه مورد نظر راست کلیک
Add New --> User Control
حالا اون User Control رو تجهیز کن
بعد از تکمیل ساخت UserControl یک بار پروژه رو Build کن بدین صورت یک شیء با نام همان UserControl در ToolBox نرم افزار Visual Studio ساخته می شه می تونی از اون در کل پروژه استفاده کنی ....

aftabeshargh
سه شنبه 08 فروردین 1391, 01:32 صبح
توی project explorer روی پروژه مورد نظر راست کلیک
Add New --> User Control
حالا اون User Control رو تجهیز کن
بعد از تکمیل ساخت UserControl یک بار پروژه رو Build کن بدین صورت یک شیء با نام همان UserControl در ToolBox نرم افزار Visual Studio ساخته می شه می تونی از اون در کل پروژه استفاده کنی ....

خب اینکارو من تو یه WindowsControlLibrary انجام دادم و به پروژه م add (توی toolbox) کردم دیگه !!

ROSTAM2
سه شنبه 08 فروردین 1391, 01:41 صبح
میدونم دوست عزیز
اما با ساختنش تو خود پروژه اصلی موضوع یه کم فرق می کنه
فقط یه بار امتحان کن ببین سرعت بالا اومدنش خوبه یا نه
اون user control هایی رو که درون پروژه دیگری ساختی وارد پروژه اصلی کن اگه بهتر نشد دیگه هیچی ...
Add --> Existing Item

aftabeshargh
سه شنبه 08 فروردین 1391, 01:47 صبح
ببین دوست خوبم " اون usercontrl ی که جدا ساختم و add کردم ، تنها یه فرم کوچولو نیست " خود این dll م یه پروژه جداست در واقع که خودش شامل چندین فرمه و به دیتابیس متصل میشه و ... در واقع اصل پروژه اونه ، با همه این تفاسیر چطور اون همه فرم و صفحه هات کریستال رو بیارم تو پروژه دومی
ببخشید که اینقد مبتدی هستم و سوالات پیش پا افتاده میپرسم

ROSTAM2
سه شنبه 08 فروردین 1391, 01:58 صبح
بازم دوست خوبم
با استفاده از همون روش Add --> Existing Item می تونی تمام فرم ها و اشیاء پروژه دیگه رو بیاری تو همین پروژه اگه می خوایی سردرگم نشی یه New Folder Add کن بعد اشیاء رو وارد کن
در مورد منبع اطلاعات با وارد کردن اونهم مشکل پیدا نمی کنی البته اگه dataset هم درست وار پروژه بشه تمام اطلاعات پروژه دیگه رو تو همین پروژه خواهی داشت
سوال؟

aftabeshargh
سه شنبه 08 فروردین 1391, 02:05 صبح
ممنون "
1- بعد از اینکار وقتی پروژه (مقصد)رو build کردم ، dll دوباره تو releas پروژه مقصد ساخته میشه ؟ 2 - دیگه نیازی نیست که dll رو از جایی add کرد ؟

ROSTAM2
سه شنبه 08 فروردین 1391, 02:14 صبح
نه !! dll ی دیگه وجود نداره !
چون بصورت شئ وارد پروژه شده بعدشم چه نیازی به dll داری کارایی برنامه مهمتره ؟
مگه اینکه بخوای توی پروژه دیگه ای ازش استفاده کنی! وقتی کارایی مفید نداشته باشه بهترین راه رو انتخاب کن
اگه برای پروژه های دیگه می خوای می تونی به صورت Template ذخیرشون کنی
این فقط یه پیشنهاده

aftabeshargh
سه شنبه 08 فروردین 1391, 02:16 صبح
ببخشید " اما یه جاییش برام نامفهومه
وقتی تو یه پروژه دیگه dll ساختم (که شامل چندین فرمه) صفحه اصلیش شبیه یه پنل هستش " و وقتی به پروژه دوم (toolbox) اضافه کردم " مثل یه شی این پنل روی فرم اصلی از پروژه دوم قرار گرفت
سوال : حالا اگه اون پروژه اولی رو کلا فرم هاشو به پروژه دوم (اونجوری که شما راهنمایی کردید) add کنم " اونوقت چطور باید ازش مثل یه dll به عنوان شی استفاده کنم و رو فرم اصلیم (اون پنل رو) بندازم ؟

توی عکس ببینید بخشی که با حاشیه قرمز مشخص کردم dll ی هستش که به پروژه دوم اضافه شده که خودش شامل دکمه هایی هستش که به کریستال... متصل میشه "
حالا اگه به روش شما انجام بدم چطور باید این پنل رو فرم اصلیم به این شکل سوار بشه ؟

فرید نجفلو
سه شنبه 08 فروردین 1391, 12:30 عصر
یه پیشنهاد :
بیاید برای یه بار هم که شده قبل از حل مشکل دنبال این باشیم که ببینیم مشکل از کجاست
آخه برادران (و صد البته خواهران:لبخندساده:) چرا ما عادت داریم بیایم رو نقاط ضعفمون یه سر پوش بزاریم
من نمی گم حتما نقطه ضعفی هست ولی باید مطمئن شد
جناب آفتاب شما به همون روشی که دوستمون گفتن پروژه رو اضافه کن بعد دیباگ کن ببین اصلا چرا کنترلت دیر می یاد
شاید یک چیز غیر عادی این وسط وجود داره (به قول ما حسابدار ها ممکنه پشت یک ریال تفاوت در تراز ، یک اشتباه میلیاردی خوابیده باشه)
مگه این کنترلی که شما ساختید چی کار می کنه که این قدر کند میاد بالا(من که فقط چند تا کنترل عادی می بینم)

شما بررسی کنید اگه همه چی عادی بود بعد بریم سراغ Event نویسی و سرپوش گذاری و کلک سینمایی و از این حرفا

aftabeshargh
سه شنبه 08 فروردین 1391, 12:46 عصر
سلام ، ممنون از نظرات و پیشنهادات دوستان ، مخصوصا استاد فرید

دوست عزیز " اگه افتخار میدادی جواب پست قبلیمو میدادی خیلی بهتر بودااااا !!!!!!!!!!!! آخه پست قبلیم در مورد کلک سینمایی نبود !!!!!!!!!!!


ببخشید " اما یه جاییش برام نامفهومه
وقتی تو یه پروژه دیگه dll ساختم (که شامل چندین فرمه) صفحه اصلیش شبیه یه پنل هستش " و وقتی به پروژه دوم (toolbox) اضافه کردم " مثل یه شی این پنل روی فرم اصلی از پروژه دوم قرار گرفت
سوال : حالا اگه اون پروژه اولی رو کلا فرم هاشو به پروژه دوم (اونجوری که شما راهنمایی کردید) add کنم " اونوقت چطور باید ازش مثل یه dll به عنوان شی استفاده کنم و رو فرم اصلیم (اون پنل رو) بندازم ؟

توی عکس ببینید بخشی که با حاشیه قرمز مشخص کردم dll ی هستش که به پروژه دوم اضافه شده که خودش شامل دکمه هایی هستش که به کریستال... متصل میشه "
حالا اگه به روش شما انجام بدم چطور باید این پنل رو فرم اصلیم به این شکل سوار بشه ؟

عکس رو هم تو پست قبلی گذاشتم .

فرید نجفلو
سه شنبه 08 فروردین 1391, 13:24 عصر
ببخشید " اما یه جاییش برام نامفهومه
وقتی تو یه پروژه دیگه dll ساختم (که شامل چندین فرمه) صفحه اصلیش شبیه یه پنل هستش " و وقتی به پروژه دوم (toolbox) اضافه کردم " مثل یه شی این پنل روی فرم اصلی از پروژه دوم قرار گرفت
سوال : حالا اگه اون پروژه اولی رو کلا فرم هاشو به پروژه دوم (اونجوری که شما راهنمایی کردید) add کنم " اونوقت چطور باید ازش مثل یه dll به عنوان شی استفاده کنم و رو فرم اصلیم (اون پنل رو) بندازم ؟

توی عکس ببینید بخشی که با حاشیه قرمز مشخص کردم dll ی هستش که به پروژه دوم اضافه شده که خودش شامل دکمه هایی هستش که به کریستال... متصل میشه "
حالا اگه به روش شما انجام بدم چطور باید این پنل رو فرم اصلیم به این شکل سوار بشه ؟

دوست عزیز وقتی شما در داخل پروژه یک Uer Control ساختید زمانی که یک Biuld بزنید به صورت خودکار به جعبه ابزار اضافه می شه
و البته اگه خواستید به صورت DLL استفاده کنید کافیه هر دو پروژه داخل یک راه حل (Solution) باشن
حالا تو پنجره Add Refrence برگ Projecte رو باز و پروژه مورد نظر رو به انتخاب و تایید کنید(اگه قصد ندارید از کنترل در برنامه های آینده خود استفاده کنید ساخت DLL جدا نیاز نمی باشد)

BAHAL_KEYHAN
سه شنبه 08 فروردین 1391, 15:32 عصر
تو usercontrol که نوشتی property
doublebuffer رو set کردی؟؟؟؟؟
باید true کنیش

aftabeshargh
سه شنبه 08 فروردین 1391, 21:43 عصر
سلام


doublebuffer رو set کردی؟؟؟؟؟
باید true کنیش

نه ، میشه بگید براچی هستش و چرا و چگونه ؟

aftabeshargh
سه شنبه 08 فروردین 1391, 22:11 عصر
با استفاده از همون روش Add --> Existing Item می تونی تمام فرم ها و اشیاء پروژه دیگه رو بیاری تو همین پروژه اگه می خوایی سردرگم نشی یه New Folder Add کن بعد اشیاء رو وارد کن

موقع build کلی خطا میگره " موقع add کدوم ها رو باید انتخاب کنم؟

ROSTAM2
سه شنبه 08 فروردین 1391, 22:30 عصر
امیدوارم پروژه ات خراب نشده باشه
فکر کنم تمام مشکل زیر سر تصویر پس زمینه باشه برای تست اونو حذف کن و به شیوه خودت اشیاء رو بار بذار فکر کنم مشکل از تصویر پس زمینه باشه
اگه نه که بگو تا جواب سوالا رو تا اونجایی که می تون بدم
خواستم قبل ازین این موضوع رو مطرح کنم ولی از صبح تا الان اینترنت خراب بود :اشتباه:

aftabeshargh
سه شنبه 08 فروردین 1391, 22:37 عصر
نه پروژه رو پشتیبانشو جای دیگه ای دارم :بامزه:

ببینید " من طبق پست های قبلی یه پروژه با windowscontrollibrary طراحی کردم که شامل چندین فرم و از dll ش تو یه پروژه دیگه استفاده کردم " برا افزایش سرعت " طبق فرمایش شما میخوام کلا بیارمشون تو پروژه دوم( add existing) اما موقع build طبق عکس کلی erorr میده " حتی تو یه پروژه خالی با یه فرم هم add میکنم وضعیتش همینه !!!

aftabeshargh
سه شنبه 08 فروردین 1391, 22:48 عصر
یه عکس از لیست فرم ها گذاشتم " میشه اونایی که احتیاج به add کردن هستن رو هایلایت کنید و دوباره بزارید ؟

ROSTAM2
سه شنبه 08 فروردین 1391, 22:49 عصر
خطاها باید یکی یکی چک بشن
اول مفهوم هرکدوم رو نیاز داری بعد با دابل کلیک رو هرکدوم ،جایی که خطا واقع شده نمایش داده می شه اینطوری می تونی خطا گیری کنی

ROSTAM2
سه شنبه 08 فروردین 1391, 22:59 عصر
ببیت اشیائی مثل فرم یا یوزر کنترل سه تا فایل مجزا دارند که هر سه رو باید همراه هم وارد پروژه کنی
اسامی این 3 فایل شبیه همه ولی قالب اونها متفاوته
مثل
UserControl1.vb
UserControl1.Designer.vb
UserControl1.resx

اگه توجه کنی میبینی هر سه تاشون کنار همن با هم انتخابشون کن بعضی از خطا ها می تونه برا کلاسهایی باشن که وارد پروژه قبلی شده باشن و تو این پروژه نباشه اونا رو وارد پروژه کنی حله

aftabeshargh
سه شنبه 08 فروردین 1391, 23:03 عصر
دیتاست و کریستال چطور ؟ تو فایل ضمیمه نمونش بود

ROSTAM2
سه شنبه 08 فروردین 1391, 23:45 عصر
اونها هم 4 تا 5 تا قالب متفاوت دارند، خصیصه همه فایلهایی که باید add بشن اینه که هم نامند

BAHAL_KEYHAN
چهارشنبه 09 فروردین 1391, 02:30 صبح
توusercontrolت property doublebuffer رو ازپنجره ی property انتخاب کن و اونو true کن

aftabeshargh
چهارشنبه 09 فروردین 1391, 11:51 صبح
سلام
یکی دو جمله میشه از property doublebuffer بگید؟