امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل dll ها با برنامه تحت شبکه
نویسنده پیام
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #1
مشکل dll ها با برنامه تحت شبکه
سلام.
من یه برنامه نوشتم که تحت شبکه کار میکنه. یعنی فایل ها به صورت کلاینت سرور به هم وصل میشن و کار میکنن. تعدادی هم dll نوشتم که برنامه برای اجرای بعضی دستورات بهشون نیاز داره.
برنامه رو سیستم خودم به خوبی کار میکنه. اگه dll ها نباشن سرور به کلاینت پیغام میده و کلاینت dll ها رو برای سرور آپلود میکنه و بعد هم برنامه بدون مشکل کار میکنه. ولی من ممکنه مجبور شم بعد از اتمام کار dll هارو پاک کنم. ولی اگه از یه dll استفاده کنم دیگه نمیتونم پاکش کنم. تا زمانی که سرور اجراست نمیشه اون dll که ازش استفاده شده رو پاک کرد. حالا چطور dll هارو پاک کنم؟

مشکل دوم اینه که برنامه رو بردم تو یه شبکه محلی تست کردم. بدون مشکل کار کرد. دستوراتی که نیاز به dll داشتن پیغام رو به کلاینت میفرستادن و کلاینت هم فایل ها رو برای سرور میفرستاد. ولی بعد از ارسال dll ها باز اون دستوراتی که وابسته به dll ها بودن کار نمیکردن. dll ها بعد از ارسال تو system32 میشینن. مشکل کجاست؟
۱۳-آبان-۱۳۸۶, ۲۳:۵۱:۴۸
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #2
RE: مشکل dll ها با برنامه تحت شبکه
مشکل کاملا واضحه پیمان جان !
وقتی شما فایل DLL رو توی system32 بریزی و ازش استفاده کنی باید به یک نکته مهم توجه داشته باشی .
اونهم اینکه در این حالت وقتی شما یکی از توابع اون DLL رو صدا بزنی در واقع از ویندوز میخوای که فایل DLL رو برات بطور اتوماتیک توی حافظه لود کنه و بعد شما خیلی راحت ازش استفاده کنی ( روش مشابه استفاده از توابع API ) . شما قادر نیستی که این فایل رو پاک کنی چراکه ویندوز تا بسته شده برنامه شما ریفرنسی از اون DLL رو توی حافظه نگه میداره . پس امکان پاک کردن یا تغییر دادنش نیست ! ( این مشکل توی دات نت با وجود اسمبلی ها حل شده )

شما بهتره از روش داینامیک استفاده کنی . یعنی فایل DLL رو از کلاینت بگیری ، با تابع loadlibrary فایل DLL رو خودت توی حافظه لود کنی ، ازش استفاده کنی ، از توی حافظه خارجش کنی و بعد پاکش کنی . در آخر برنامه شما هم با خیال راحت میتونه به کار خودش پایان بده !

http://support.microsoft.com/default.asp...us;q106553
http://www.zappersoftware.com/Help/how-to-use-dll.html

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۱۴-آبان-۱۳۸۶, ۰۵:۰۹:۵۹
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #3
RE: مشکل dll ها با برنامه تحت شبکه
سلام.
مرسی ممد.
مشکل دوم چی؟ چرا تو شبکه مشکل پیش میاد؟ فایل رو تو سیستم 32 آپلود میکنم ولی برنامه نمیتونه ازش استفاده کنه.
۱۴-آبان-۱۳۸۶, ۲۰:۳۸:۰۳
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #4
RE: مشکل dll ها با برنامه تحت شبکه
واسه DLL معمولی نباید مشکلی پیش بیاد ولی اگر اون DLL شامل اشیای COM باشه اونوقت باید رجیستر بشه !

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۱۴-آبان-۱۳۸۶, ۲۱:۵۵:۲۵
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #5
RE: مشکل dll ها با برنامه تحت شبکه
سلام.
منظورت از اشیای کام چیه؟ بیشتر توضیح بده.
۱۵-آبان-۱۳۸۶, ۰۳:۵۹:۱۴
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #6
RE: مشکل dll ها با برنامه تحت شبکه
COM این قابلیت رو داره که با کمک فایل های DLL مفاهیم شی گرایی رو توی فایلهای DLL گسترش بده . اشیای COM مثلا قابلیت دارند بین دوتا پروسس مجزا حتی روی دوتا ماشین مختلف صدا زده بشن ( مثلا همون آتوماسیون ActiveX ها )

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۱۵-آبان-۱۳۸۶, ۱۱:۲۳:۳۵
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #7
RE: مشکل dll ها با برنامه تحت شبکه
سلام.
حالا چطور این مشکل رو حل کنم. فکر میکنم یه مشکل خیلی سادست. تعجب میکنم که dll ها کار نمیکنن.
لازمه با regsvr32.exe فایل dll رو رجیستر کنم؟
۱۵-آبان-۱۳۸۶, ۱۶:۲۷:۲۳
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #8
RE: مشکل dll ها با برنامه تحت شبکه
فقط DLL هایی که COM server هستند نیاز به رجیستر شدن در سیستم دارند . DLL معمولی نیازی به رجیستر شدن نداره . دقت کن که فایل DLL شما باید حتما پسوند dll داشته باشه تا بطور اتوماتیک ویندوز اونو لود کنه . همون طور که گفتم شما چرا از روش لود کردن داینامیک استفاده نمی کنی ؟؟ در این وضعیت هیچ مشکلی نباید پیش بیاد !

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۱۵-آبان-۱۳۸۶, ۱۷:۲۴:۲۹
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #9
RE: مشکل dll ها با برنامه تحت شبکه
سلام.
فایل های معمولی هستن. dll هم هستن. من هم کنار برنامه کپی شون میکنم هم تو سیستم32 ولی کار نمیکنن. رو سیستم خودمم هم از همون مسیر که به برنامه اضافه شدن لود میشن و اگه فایل ها رو از اون مسیر پاک کنم رو سیستم خودم هم کار نمیکنه.
میخواستم اگه بشه از LOADlibrary استفاده نکنم. چون به نظرم یه مشکل سادست و باید حل شه.

تابع LOADlibrary خوبیش اینه خودش آدرس فایل رو میگیره ولی بعد که لود کردم چطوری از توابع داخل dll استفاده کنم?
۱۵-آبان-۱۳۸۶, ۱۹:۵۹:۳۵
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #10
RE: مشکل dll ها با برنامه تحت شبکه
سلام.
چه طور از LOADlibrary استفاده کنم. لود میکنم یه چیزی شبیه هندل بر میگردونه. حالا چطور توابع تابع رو صدا بزنم. با createprocess باید این کارو بکنم؟
۱۶-آبان-۱۳۸۶, ۰۲:۱۵:۰۴
ارسال‌ها
پاسخ
ashkan آفلاین
بنيانگذار سايت
******

ارسال‌ها: 1,553
موضوع‌ها: 80
تاریخ عضویت: آبان ۱۳۸۲

تشکرها : 0
( 140 تشکر در 87 ارسال )
ارسال: #11
RE: مشکل dll ها با برنامه تحت شبکه
دستت درد نکنه محمد خیلی خوب توضیح میدی

آشنایی با نظریه زبان باعث شد تا بفهمم کامپیوتر اونی نیست که من میدونم.
۱۶-آبان-۱۳۸۶, ۰۸:۴۹:۴۵
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] مشخص کردن فایلی که روی شبکه باز شده eppagh 0 2,131 ۲۲-فروردین-۱۳۹۴, ۱۴:۰۶:۵۱
آخرین ارسال: eppagh
  بدست آوردن مشخصات سیستم های شبکه با WMI sahand87 0 3,072 ۲۵-اسفند-۱۳۹۰, ۱۱:۴۷:۵۵
آخرین ارسال: sahand87
  پاک کردن درایور کارت شبکه ویندوز 7 و xp aliooali 1 3,993 ۲۲-مهر-۱۳۹۰, ۰۱:۵۸:۰۰
آخرین ارسال: aliooali
  برنامه تحت شبکه با VB6.0 mojtabamalaekeh 17 18,522 ۱۸-تير-۱۳۹۰, ۱۲:۴۸:۴۳
آخرین ارسال: Di Di
  مشکل برنامه aleas 0 1,847 ۰۱-خرداد-۱۳۹۰, ۰۰:۰۴:۴۰
آخرین ارسال: aleas
  مشکل نصب برنامه های فارسی edifier 6 6,610 ۰۷-اسفند-۱۳۸۹, ۰۸:۵۴:۲۴
آخرین ارسال: farshid_vb
  یه سوال در مورد برنامه تحت شبکه toopdanlod 5 4,340 ۱۹-اسفند-۱۳۸۸, ۲۳:۲۸:۴۴
آخرین ارسال: Payman62
  ارسال عکس در شبکه toopdanlod 3 2,809 ۲۱-بهمن-۱۳۸۸, ۱۸:۲۱:۵۴
آخرین ارسال: toopdanlod
Sad *** برنامه آزمونگیر تحت شبکه *** maverick 4 4,237 ۱۰-آبان-۱۳۸۸, ۰۱:۱۱:۵۴
آخرین ارسال: joker
Question مشکل در انتقال برنامه dead.kitten 2 2,870 ۱۵-شهریور-۱۳۸۸, ۱۱:۳۰:۲۴
آخرین ارسال: dead.kitten

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS