PDA

View Full Version : استفاده از ocx در اکسس



e601
سه شنبه 14 خرداد 1387, 16:02 عصر
با سلام خدمت دوستان عزیز
میخواستم ببینم طریقه افزودن ocxها به یک برنامه اکسس به چه صورتی است و چگونه در سیستمی که کاربر برنامه را نصب کرده رجیستر میشود و بدون مشکل برنامه قابل اجرا خواهد بود

amrabady
سه شنبه 14 خرداد 1387, 19:42 عصر
سلام براي افزودن اين فايلها و استفاده از امکانات اون بايد به بخش کدنويسي برنامه خودت بري(VB) و در اونجا از منوي tools به زير منويreferences بروي و با استفاده از دکمه browse آدرس دهي کني و فايلت رو اونجا addکني.

e601
چهارشنبه 15 خرداد 1387, 12:27 عصر
با سلام
این روش شما درسته منم همین کارا رو میکنم ولی وقتی برنامه را به مشتری تحویل میدی در سیستم اون چطور میشه ocx مورد نظر رو به رفرنسها اضافه کرد. چون اگه این کارو نکنیم برنامه نمیتونه از اون ocx استفاده کنه. این مشکل وقتی جدی میشه که برنامه رو کامپایل و mde کرده باشی که امکان این نیست که چیزی رو به رفارنسها اضافه کرد. فکر میکنم این یکی از ایرادهای اکسس هست!!!

shaghaghi
یک شنبه 19 خرداد 1387, 06:56 صبح
سلام
روش بی درد سر این است که کامپوننت های مورد استفاده در برنامه تان را بر روی یک فرم vb قرار دهید و آنها را مخفی کنید و از آن فرم vb یک Setup تهیه کنید (فایل مربوط به بانکتان را هم در مراحل آخر تهیه Setup به فایل مربوطه Add کنید) اگر مایل بودید می توانید این فرم Vb را هم بعنوان یک Splash برای برنامه تان در نظر بگیرید

alirezabahrami
دوشنبه 24 فروردین 1388, 15:20 عصر
سلام براي افزودن اين فايلها و استفاده از امکانات اون بايد به بخش کدنويسي برنامه خودت بري(VB) و در اونجا از منوي tools به زير منويreferences بروي و با استفاده از دکمه browse آدرس دهي کني و فايلت رو اونجا addکني.


با سلام
بعد از افزودن فايلهاي ocx در قسمتreferences ، نحوه استفاده و بهره برداري از فايل هاي فوق به چه صورتي است ؟ بنده يك اكتيو ايكس را به references برنامه ام اضافه نمودم( فايل به references اضافه شد و چك باكس كناري آن تيك خورده ) و براي استفاده از آن از قسمت tool box گزينه more controls را انتخاب نمودم و لي در ليست باكس مربوطه فايل اضافه شده به references وجود ندارد. لطفاً در اين خصوص راهنمائي فرمائيد .
با تشكر

e601
دوشنبه 24 فروردین 1388, 22:35 عصر
با سلام
بعد از افزودن فايلهاي ocx در قسمتreferences ، نحوه استفاده و بهره برداري از فايل هاي فوق به چه صورتي است ؟ بنده يك اكتيو ايكس را به references برنامه ام اضافه نمودم( فايل به references اضافه شد و چك باكس كناري آن تيك خورده ) و براي استفاده از آن از قسمت tool box گزينه more controls را انتخاب نمودم و لي در ليست باكس مربوطه فايل اضافه شده به references وجود ندارد. لطفاً در اين خصوص راهنمائي فرمائيد .
با تشكر

با سلام

دوست عزیز لیست Refrenses مربوط به کتابخانه هایی هستش که میتونی اضافه کنی و در کدنویسی های VBA از اون استفاده کنی.

شما برای اینکه یک اکتیوایکس خارجی رو به لیست More Controls اضافه کنی و در فرمها از اون استفاده کنی باید از منوی Tools گزینه AvtiveX Controls رو انتخاب کنی.
در صفحه ای که باز میشه دکمه Register رو کلیک کرده و در مرحله بعد فایل ocx خودتون رو انتخاب کنید و کلید Ok رو فشار دهید.

بعد از اینکار اکتیو ایکس شما به لیست More Controls اضافه میشه و شما میتونید از اون استفاده کنید :چشمک:


با سلام خدمت دوستان عزیز
میخواستم ببینم طریقه افزودن ocxها به یک برنامه اکسس به چه صورتی است و چگونه در سیستمی که کاربر برنامه را نصب کرده رجیستر میشود و بدون مشکل برنامه قابل اجرا خواهد بود
:قهقهه: :قهقهه: :قهقهه:

alirezabahrami
چهارشنبه 26 فروردین 1388, 17:15 عصر
با سلام

دوست عزیز لیست Refrenses مربوط به کتابخانه هایی هستش که میتونی اضافه کنی و در کدنویسی های VBA از اون استفاده کنی.

شما برای اینکه یک اکتیوایکس خارجی رو به لیست More Controls اضافه کنی و در فرمها از اون استفاده کنی باید از منوی Tools گزینه AvtiveX Controls رو انتخاب کنی.
در صفحه ای که باز میشه دکمه Register رو کلیک کرده و در مرحله بعد فایل ocx خودتون رو انتخاب کنید و کلید Ok رو فشار دهید.

بعد از اینکار اکتیو ایکس شما به لیست More Controls اضافه میشه و شما میتونید از اون استفاده کنید :چشمک:


:قهقهه: :قهقهه: :قهقهه:

با سلام خدمت جناب آقاي مسعودي و ديگر دوستان بزرگوار
طبق راهنمائي آقاي مسعودي ، يك اكتيو ايكس به برنامه ام اضافه و اجرانمودم . اما مشكلي كه با انجام اين روش وجود دارد اين است كه :
اولاً : آن اكتيو ايكس در ليست more control كل مجموعه اكسس اضافه ميشود . به تعبيري اگر از يك بانك اطلاعاتي كه آن اكتيو ايكس را در آن اضافه نموده ايم خارج شويم و يك بانك اطلاعاتي ديگر را اجرا كنيم آن اكتيو ايكس در ليست more control همچنان موجود است .
دوماً اگر بانك اطلاعاتي مورد نظر را بر روي يك كامپيوتر ديگر اجرا كنيم آن اكتيو ايكس اجرا نميشود و همين مشكل در حالت share بانك اطلاعاتي نيز وجود دارد .
لذا سؤال اين است كه چه راه و روشي بايد بكار برد كه آن اكتيو ايكس در همه حال در كنارهمان برنامه مورد نظر باشد ( نه برنامه هاي ديگر ) و با اجراي برنامه بر روي كامپيوتر هاي ديگر قابل اجرا باشد.

ضمناً با توجه به عدم آشنائي و مأنوس نبودن بنده با بخش كتابخانه اكسس يا همانreferences در صورت امكان توضيحاتي در خصوص نوع فايل هائي كه بايد به اين قسمت اضافه شود و چگونه در برنامه از آن فايل ها استفاده كرد نيز ارائه شود ( ابهام بنده در اين قسمت اين است كه آيا استفاده از فايل هاي اضافه شده به references به همان راحتي استفاده از اكتيو ايكس درليست more control مي باشد يا نياز به كد نويسي خاصي دارد ) مزيد امتنان خواهد بود اگر نمونه برنامه اي از طرف دوستان ارائه شود
با تشكر فراوان

e601
چهارشنبه 26 فروردین 1388, 23:09 عصر
با سلام
دوست عزیز سوال های شما رو دسته بندی کردم تا هم بهتر بشه جواب داد هم بهتر بشه به جواب رسید ! :چشمک:


اولاً : آن اكتيو ايكس در ليست more control كل مجموعه اكسس اضافه ميشود . به تعبيري اگر از يك بانك اطلاعاتي كه آن اكتيو ايكس را در آن اضافه نموده ايم خارج شويم و يك بانك اطلاعاتي ديگر را اجرا كنيم آن اكتيو ايكس در ليست more control همچنان موجود است .
در مورد این سوالتون باید عرض کنم موردی که شما عنوان کردید جزو خصوصیات اکثر زبانهای برنامه نویسی هست. مورد خاصی هم نداره که شما نگرانش باشید. این لیست فقط مربوط به کامپیوتر شماست و در کامپیوتر مقصد چیزی درون لیستش وجود نخواهد داشت (البته به شرطی که اکتیوایکس در کامپیوتر مقصد بصورت اتوماتیک رجیستر شده باشه ، نه از روشی که در پستهای قبلی عنوان کردم)


دوماً اگر بانك اطلاعاتي مورد نظر را بر روي يك كامپيوتر ديگر اجرا كنيم آن اكتيو ايكس اجرا نميشود و همين مشكل در حالت share بانك اطلاعاتي نيز وجود دارد .
لذا سؤال اين است كه چه راه و روشي بايد بكار برد كه آن اكتيو ايكس در همه حال در كنارهمان برنامه مورد نظر باشد ( نه برنامه هاي ديگر ) و با اجراي برنامه بر روي كامپيوتر هاي ديگر قابل اجرا باشد.
برای این منظور اکتیوایکس شما باید بصورت اتوماتیک در کامپیوتر مقصد رجیستر بشه. برای این منظور 2 تا از بهترین راهها رو پیشنهاد میکنم:

یکی اینکه با استفاده از برنامه های setup ساز اینکار انجام بشه مثل InstallSheild که راهنمای استفادش بصورت pdf در همین سایت موجوده که نیاز به جستجو داره...

روش دیگه اینه که بصورت دستی و با استفاده از کد زیر اکتیوایکس مورد نظرتون رو رجیستر کنید :



Shell "regsvr32 " & Chr(34) & Path & Chr(34)


در کد فوق به جای Path باید مسیر اکتیوایکس داده بشه تا رجیستر شدن فایل مورد نظر ، توسط ویندوز و بدون نیاز به فایل setup انجام بشه.
شما میتونید با استفاده از روشهای مقتضی با اولین اجرا شدن برنامه تان در کامپیوتر مقصد ، اکتیوایکس رو رجیستر کنید و دیگر هیچ...


ضمناً با توجه به عدم آشنائي و مأنوس نبودن بنده با بخش كتابخانه اكسس يا همانreferences در صورت امكان توضيحاتي در خصوص نوع فايل هائي كه بايد به اين قسمت اضافه شود و چگونه در برنامه از آن فايل ها استفاده كرد نيز ارائه شود ( ابهام بنده در اين قسمت اين است كه آيا استفاده از فايل هاي اضافه شده به references به همان راحتي استفاده از اكتيو ايكس درليست more control مي باشد يا نياز به كد نويسي خاصي دارد ) مزيد امتنان خواهد بود اگر نمونه برنامه اي از طرف دوستان ارائه شود

دوست عزیز کامپوننت هایی که به قسمت Refrences در VBA اضافه میشه رابط کاربری ندارن. یعنی مثل اکتیوایکس هایی که منظور شماست(ocx) آیتمی ندارن که بخواد روی فرم قرار بگیره. اینها فقط از توابع و ... تشکیل شدن که شما با کد نویسی میتونی از اونها استفاده کنی.

فرق این نوع کامپوننت ها با ocx ها در همین است که ocxها رابط کاربر دارن ولی اونها ندارن.

ابن مبحث خیلی طولانی و شاید بشه گفت یکم پیچیده هستش. امیدوارم توضیحات خوبی داده باشم.

موفق باشید...

hamedMohammad
پنج شنبه 27 فروردین 1388, 00:10 صبح
با سلام
اگر OCX مورد نظر در کامپیوتر شما در فولدر system32 نصب شده باشد و در رفرنس فایل اکسس شما تیک خورده شود حال در کامپیوتر مشتری بصورت یک Regmyocx.bat فایل آنرا به روش زیرجیستر کنید:

@echo off
Echo.
Echo ================================================== =============================
Echo matne shoma
================================================== =============================
Echo.
copy MAKANE OCX.ocx %windir%\system32
regsvr32 %windir%\system32\NAME_OCX.ocx

موفق باشید

alirezabahrami
پنج شنبه 27 فروردین 1388, 07:35 صبح
با سلام
از جناب آقاي مسعودي بزرگوار و همچنين از آقا حامد عزيز ، به لحاظ راهنمائي هاي خوبشان بسيار متشكر و سپاسگزارم .
با آرزوي سلامتي و موفقيت روز افزون براي شما و ديگر دوستان عزيز.

alirezabahrami
جمعه 28 فروردین 1388, 18:27 عصر
بنام خدا
با سلام مجدد خدمت دوستان عزیز
در ارتباط با موضوع اضافه نمودن اکتیو ایکس ، فایلی را از این سایت پیدا کردم که ظاهراً در قسمت ماژول مربوط به انتخاب مسیر اکتیوایکس اشکالی وجود دارد . لذا جهت استفاده و بهره برداری از این فایل ، از عزیزان خواهش میشود نسبت به رفع اشکال آن اقدام لازم مبذول نمایند .
با تشکر

mohammadsaleh
شنبه 29 فروردین 1388, 07:44 صبح
با سلام خدمت همه دوستداران اكسس

اگر اكتيو ايكس توسط برنامه نويس در سيستم 32 ويندوزي كه در درايو c نصب هست كپي و د ر قسمت رفرنس به آن آدرس لينك شود در صورت انتقال برنامه به كامپيوتري كه ويندوز مثلا در درايو d نصب است به فرض اينكه فايل setup هم تهيه شده باشد آن وقت اين مشكل را چگونه بايد رفع كرد.

آيا راهي وجود دارد كه مسير رفرنس هاي داده شده در قسمت vb اكسس به طور خودكار يا با برنامه نويسي و اجرا در اولين فرم برنامه عوض شود

با تشكر

nabeel
شنبه 29 فروردین 1388, 17:31 عصر
آقاي mohammadsaleh
سلام

يه توضيح كلي بدم و اونهم اينكه در وحله اول كنترلها از محل قرار گيري اونها مورد شناسايي قرار نيمگيرن . بلكه از طريق كد انحصاري اونها و يا همون CLSID به كار گرفته ميشن ( در مورد كنترلهايي كه نياز به رجيستر شدن دارن )
وليكن در خصوص كنترلهايي كه الزاماً در مسيرهاي سيستمي بايد قرار بگيرن , تغيير درايو نصب ويندوز هيچ مشكلي رو ايجاد نميكنه .
پس در كليه موارد مطرح شده هيچ مشكلي به وجود نمياد چرا كه اگه قرار بود مشكلي به وجود بياد اولين و آخرين قربانيش همون خود Windows بود ( بخش عظيمي از ويندوز رو اكيتو ايكسها تشكيل ميدن )

موفق باشيد

hamid-nice
پنج شنبه 03 اسفند 1391, 20:57 عصر
بنام خدا
با سلام مجدد خدمت دوستان عزیز
در ارتباط با موضوع اضافه نمودن اکتیو ایکس ، فایلی را از این سایت پیدا کردم که ظاهراً در قسمت ماژول مربوط به انتخاب مسیر اکتیوایکس اشکالی وجود دارد . لذا جهت استفاده و بهره برداری از این فایل ، از عزیزان خواهش میشود نسبت به رفع اشکال آن اقدام لازم مبذول نمایند .
با تشکر


با سلام و تشکر از فایلی که گذاشتید

یک نمونه در ضمیمه قرار دادم امید وارم به درد دوستان بخورد