PDA

View Full Version : سوال: كامپوننت هاي پيش فرض vb



aminkk
شنبه 09 شهریور 1387, 02:28 صبح
سلام
من يك پروژه نوشته ام كه بايد برروي سيستم كاربر نصب كنم اما كاربر نرم افزار Visual basic را ندارد و بنابر دلايلي نيز نمي تواند نرم افزار Viusal studio را نصب كند. امكان استفاده از نرم افزار setup نيز را ندارم.
چگونه مي توانم ocx ها و dll هاي پيش فرض vb را برروي سيستم وي نصب كنم؟
مثاً انها را از رويه سيستم خودم شناسايي و در كامپيوتر وي بريزم تا موجب بروز خطا نگردد.
خواهشمند است زودتر جواب اين بنده حقير را بدهيد.
با تشكر

اوبالیت به بو
شنبه 09 شهریور 1387, 18:12 عصر
بستگي به ابزاري هستش كه استفاده كردين. اگر از هيچ كدوم از ابزارها استفاده نكردين نيازي نيست فكر نصب اين ابزارها باشين چون اين ابزارها به صورت خودكار نصب ميشه.(نصب هست) تنها ابزارهايي كه از پنجره Component اضافه كردين بايد در كامپيوتر مقصد كپي كنيد.

vahid_d_0101
شنبه 09 شهریور 1387, 18:15 عصر
خوب دیگه شما در بعضی مواقع اگر از هیچ کامپونتی استفاده نکرده باشید بازم چندتا DLL هست که باید حتما تو سیستم طرف مقابل یاشه برای همین شما میتونید از نرم افزارهای ساخت ستاپ استفاده کنید و برای برنامه خود یک ستآپ درست کنید که راحت بتونید همجا ازش استفاده کنید یه نمونه ام خود وی بی داره

ابوذر محمودی
شنبه 09 شهریور 1387, 22:11 عصر
اگر در برنامه از هیچ کامپوننتی استفاده نکردید برنامه در سیستم کاربر اجرا می شود
ولی اگر از کامپوننت استفاده کردید باید آنها را در سیستم کاربر کپی کنید .
برای فهمیدن اینکه از چه Ocxی استفاده کردید از منوی project گزینه Components را انتخاب کنید
اگر هم در هنگام طراحی برنامه از DLL استفاده کردید آنها را نیز باید در سیستم کاربر کپی کنید و در صورت نیاز آنها را رجیستر کنید (با دستور Regsvr32 در محیط CMD)

aminkk
شنبه 09 شهریور 1387, 23:11 عصر
با تشكر از دوستان.
من از فايل MCI32.OCX و ComCTL.OCX استفاده مي كنم. چگونه بايد اينها رو در كامپيوتر مقصد رجيستر كنم؟

اگر هم در هنگام طراحی برنامه از DLL استفاده کردید آنها را نیز باید در سیستم کاربر کپی کنید و در صورت نیاز آنها را رجیستر کنید (با دستور Regsvr32 در محیط CMD)
اگر امكان دارد توضيح كامل بدهيد.

ابوذر محمودی
شنبه 09 شهریور 1387, 23:59 عصر
بعضی از DLL ها برای استفاده باید رجیستر بشن که برای اینکار کافیه تو CMD یا Run دستور زیر رو تایپ کنید :
regsvr32 file
که در دستور بالا به جای file نام و مسیر DLL رو قرار می دین

من از فايل MCI32.OCX و ComCTL.OCX استفاده مي كنم
فقط همین فایلها رو تو سیستم 32 کاربر کپی کن ، یا اینکه می تونی کنار برنامه قرارشون بدی

aminkk
یک شنبه 10 شهریور 1387, 00:08 صبح
فقط همین فایلها رو تو سیستم 32 کاربر کپی کن ، یا اینکه می تونی کنار برنامه قرارشون بدی
برنامه به گونه اي است كه بايد از روي cd اجرا شود و كاربر برنامه را از رويه cd اجرا مي كند. ايا من اي نocxها را درون cd قرار دهم خود به خود رجيستر مي شوند؟
چون كاربران من در يك سايت فعاليت مي كنند و هر كدام بايد به طور جداگانه با cd كار بكنند. ايا با گذاشتن cd در cd-rom فايل ها خود به خود از درايو g در system32 كپي مي شوند؟

ابوذر محمودی
یک شنبه 10 شهریور 1387, 00:30 صبح
ايا من اينocxها را درون cd قرار دهم خود به خود رجيستر مي شوند؟نه دوست عزیز ! برای رجیستر شدن باید دستور Regsvr32 را در محیط CMD اجرا کنید.
البته فکر نمی کنم که این ocx ها که گفتید به رجیستر شدن نیاز داشته باشد .


ايا با گذاشتن cd در cd-rom فايل ها خود به خود از درايو g در system32 كپي مي شوند؟باز هم جواب منفی است . شما یه فایل اتوران با وی بی بسازید تا با اجرای اون فایلهای ocx رو در سیستم کاربر کپی کنه و بعد از اون هم برنامه اصلی رو اجرا کنه.

اینجوری وقتی کاربر سی دی رو داخل سی دی رام می زاره برنامه اتوران فایلهای مورد نیاز رو کپی می کنه

یا اینکه می تونید یه بچ فایل بسازید و توی اون کدهای کپی کردن فایلهاتون رو قرار بدین

aminkk
یک شنبه 10 شهریور 1387, 00:33 صبح
من معذرت مي خوام از شما كه اينقدر سوال مي كنم.
ولي من تازه كار هستم و خيلي دوست دارم وي بي رو مثل شما ياد بگيرم.

یا اینکه می تونید یه بچ فایل بسازید و توی اون کدهای کپی کردن فایلهاتون رو قرار بدین
چگونه؟
بگذاريد بهتر بپرسم:
من مي خواهم وقتي كاربر رويه يه command button كليك كرد اون ocxها در system32 كپي شوند.

ابوذر محمودی
یک شنبه 10 شهریور 1387, 00:56 صبح
من معذرت مي خوام از شما كه اينقدر سوال مي كنم.
خواهش می کنم .


من مي خواهم وقتي كاربر رويه يه command button كليك كرد اون ocxها در system32 كپي شوند

یه فایل ضمیمه می کنم .

با استفاده از تابع API مسیر ویندوز رو بدست می آریم و سپس فایل رو با دستور File copy تو پوشه سیستم 32 کپی می کنیم.


FileCopy File1, Buffer & File2
به جای File1 مسیر ocx رو قرار بدید
و به جای File2 نام ocx رو قرار بدید

ابوذر محمودی
یک شنبه 10 شهریور 1387, 01:05 صبح
برای بدست آوردن مسیر OCX با دستور app.Path مسیر برنامه رو بدست می یاریم ، اگه فایل ocx کنار برنامه بود پس مسیر ocx هم همون مسیر برنامه می شه و اگر مثلا در پوشه A بود مسیر ocx رو به این صورت بدست بیارید .


masir=app.path & "\A"حالا به فرض فایل MCI32.OCX رو می خواین کپی کنید و این فایل در کنار برنامه قرار داره


masir=app.path & "MCI32.OCX"
FileCopy masir, buffer & "MCI32.OCX"