نمایش نتایج 1 تا 10 از 10

نام تاپیک: Dll و سؤال؟

  1. #1

    Dll و سؤال؟

    سلام!
    خوبید؟
    فرض کنید من یه کامپوننتی دارم مثل button که مسلماً Dll هست.
    وقتی اون رو توی پروژه اضافه می کنم این کامپوننت در پوشه Debug>bin می افته.
    خوب حالا وقتی من برای این برنامه Setup می سازم و این برنامه رو در یک کامپیوتر دیگر نصب می کنم خوب مسلماً این کامپوننت یا Dll به همراه فایل Exe بر روی کامپیوتر نصب خواهد شد و طرف من به راحتی امکان استفاده از این کامپوننت رو داره و اون رو بر می داره و توی برنامه هاش استفاده می کنه و مسلماً اگر برنامه بدون اون کامپوننت نصب بشود کار نخواهد کرد.
    حالا من چه طور می تونم کاری کنم که وقتی یه Dll می سازم کسی نتونه از این Dll استفاده کنه و اون رو توی برنامه اش Add کنه؟ کاری به این ندارم که سورسش رو باز کنه. نه می خوام کسی نتونه اون رو به برنامه اش Add کنه.
    مرسی

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: Dll و سؤال؟

    شما برای این کار توی همون dll که میسازید یه رمز برای بازگشایی که از طریق برنامه exe فرستاده میشه قرار بدید.

  3. #3
    کاربر دائمی آواتار ahrimaneahurai
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران
    پست
    554

    نقل قول: Dll و سؤال؟

    سلام دوستان . من یه برنامه نوشتم که از dll های teleriki توش استفاده کردم اما وقتی می برم توی یه کامپیوتر دیگه dll های telrik نمی رن و برنامه ران نمیشه. dll های telerik توی پوشه debug نمیان.خیلی گیج شدم
    ممنون میشم کمک کنید.

  4. #4

    نقل قول: Dll و سؤال؟

    مرسی ولی چه طور باید رمز بنویسم؟
    اگه نمونه کد داری بذار ممنون می شم!

  5. #5

    نقل قول: Dll و سؤال؟

    کسی نیست جواب بده؟

  6. #6
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: Dll و سؤال؟

    [quote=abi_sarab;717518]کسی نیست جواب بده؟[/quote
    سلام:
    شما از dll به چه عنوانی استفاده میکنید اگه توی dll یک تابع اصلی کار کذاشته اید میتونید این رمز رو بصورت آرگومان به تابع ارسال کنید.
    باتوجه به اینکه در فراخوانی dll حتما از همین تابع ذکر شده در dll استفاده میکنید در همان نقطه فراخوانی برای اجرای dll آرگومان رمز شده رو نیز ارسال کنید.
     

    ------- dll ایجاد شده --------------------
    extern "C" __declspec(dllexport) void MyDll(char *);
    //---------------------------------------------------------------------------
    voidType MyDll (char *Ramz)
    {
    //انجام عملیات شرط با رمز ارسالی بعد اجازه ورود در غیر اینصورت return;
    }
    ------- فراخوانی dll ---------------------
    void RunMyDll( char *DllFileName, char *Ramz)
    {
    HMODULE hmodule;
    void (*MyDll)(char *);
    hmodule = LoadLibrary(DllFileName);
    if( hmodule == NULL) return RtnVal ;
    MyDll = (void (*)(char *)) GetProcAddress(hmodule, "_MyDll");
    if( MyDll == NULL ) { FreeLibrary(hmodule); return; }
    (*MyDll)(Ramz);
    FreeLibrary(hmodule);
    }

    لازم به توضیح ایت که این کد ها میتونن dll و کدهای متعلق به شما رو از دسترس نجات بدن.

  7. #7
    کاربر دائمی آواتار hamid_200611
    تاریخ عضویت
    تیر 1387
    محل زندگی
    دلیجان
    سن
    36
    پست
    122

    نقل قول: Dll و سؤال؟

    در مورد کنترل های telerik بگم که باید Dll کنترل های استفاده شده رو به صورت دستی از محل نصب ان به فایل debug یا Release اضافه کنی اون dll ها تو محل نصب telerik پوشه bin هست

  8. #8
    کاربر دائمی آواتار hamid_200611
    تاریخ عضویت
    تیر 1387
    محل زندگی
    دلیجان
    سن
    36
    پست
    122

    نقل قول: Dll و سؤال؟

    در مورد دوم اینه که یکی از ویرایش های xencode همین کارو انجام میده که این dll ها رو از دید کاربر مخفی می کنه.
    روش دوم اینه که اون dll ها رو روی سیستم طرف با یه Sn کش کنی قبلا خودم تو یه تاپیک روش کش کردن dll رو گفتم.
    این کش همون کاری که شرکت Telerikیا Devexpres انجام می ده که شما بعد از نصب اون اصلا dll نمی بینید ولی برنامه های که با اون کامپوننت نوشته شده اجرا می شه
    آخرین ویرایش به وسیله hamid_200611 : پنج شنبه 17 اردیبهشت 1388 در 15:37 عصر

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1387
    محل زندگی
    تهران - آرياشهر
    پست
    53

    نقل قول: Dll و سؤال؟

    [quote=tdkhakpur;717631]
    نقل قول نوشته شده توسط abi_sarab مشاهده تاپیک
    کسی نیست جواب بده؟[/quote
    سلام:
    شما از dll به چه عنوانی استفاده میکنید اگه توی dll یک تابع اصلی کار کذاشته اید میتونید این رمز رو بصورت آرگومان به تابع ارسال کنید.
    باتوجه به اینکه در فراخوانی dll حتما از همین تابع ذکر شده در dll استفاده میکنید در همان نقطه فراخوانی برای اجرای dll آرگومان رمز شده رو نیز ارسال کنید.
     

    ------- dll ایجاد شده --------------------
    extern "C" __declspec(dllexport) void MyDll(char *);
    //---------------------------------------------------------------------------
    voidType MyDll (char *Ramz)
    {
    //انجام عملیات شرط با رمز ارسالی بعد اجازه ورود در غیر اینصورت return;
    }
    ------- فراخوانی dll ---------------------
    void RunMyDll( char *DllFileName, char *Ramz)
    {
    HMODULE hmodule;
    void (*MyDll)(char *);
    hmodule = LoadLibrary(DllFileName);
    if( hmodule == NULL) return RtnVal ;
    MyDll = (void (*)(char *)) GetProcAddress(hmodule, "_MyDll");
    if( MyDll == NULL ) { FreeLibrary(hmodule); return; }
    (*MyDll)(Ramz);
    FreeLibrary(hmodule);
    }
    لازم به توضیح ایت که این کد ها میتونن dll و کدهای متعلق به شما رو از دسترس نجات بدن.
    من نتونستم از این کد استفاده کنم ممکنه راهنمایی بیشتری در مورد نحوه استفاده آن نمایید.مرسی

  10. #10
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: Dll و سؤال؟

    دوست عزیز برای راهنمائی احتیاج به توضیح زیادی داره .
    شما اکه تونستید کد تابع موجود در فایل dll و نیز نحویه فراخوانی dll و تابع مربوطه رو ارسال کنید تا تغییرات لازم رو درش بدم.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •