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

نام تاپیک: DLL در دلفی

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    مشهد
    پست
    498

    DLL در دلفی

    سلام دوستان
    من یک dll نوشتم ولی وقتی در برنامه از اون استفاده می کنم پیغام خطا زیر را می دهد
    invalid pointer operation
    لطفا مرا راهنمایی کنید

  2. #2
    اگه DLL را با دلفی نوشتید، می تونید از طریق IDE دلفی در زمان اجرای برنامه، اون DLL را دیباگ کنید و محل وقوع خطا را پیدا کنید.

  3. #3
    فکر می کنم شما فرم مادر را مشخص نکرده اید ...در هر صورت از مقاله DLL در سایت ModiranGroup.Com یک بازدیدی بکن شاید بدردت بخوره

  4. #4
    خدا می داند این خطا از چند جای مختلف می تونه باشه. کمی بیشتر در مورد زمان رخداد خطا و خود dll و توابع و عملیاتش توضیح دهید.

  5. #5

    نقل قول: DLL در دلفی

    در مورد اين dll يك مقاله فارسي نداريد بزارين از اين دربه دري راحت شيم

  6. #6

    نقل قول: DLL در دلفی

    در مورد اين dll يك مقاله فارسي نداريد بزارين از اين دربه دري راحت شيم
    درباره DLL در سایت مطلب زیاد هست:
    http://www.google.com/cse?cx=0102772...D%3A11&x=0&y=0


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  7. #7

    نقل قول: DLL در دلفی

    علي اقا مدير ارشد شايد باورتون نشه درست يك هفته است من كل سايت شمارو زيرور رو كردم نتونستم جواب سوالمو پيدا كنم سوال من اينه

    يك webbowser در برنامه بزاريم و بجاي اينكه به برنامه ادرس سايتو بديم (ادرسي كه داخل webbrowser باز ميشه) يك فايل dll در كنار برنامه بزاريم و ادرس را داخل اون فايل بنويسيم يعني اگه بخواهيم سايتي كه داخل webbrowser باز ميشه رو عوض كنيم فقط اون فايل dll را عوض كنيم و خودبخود سايت هم عوض بشه

    بابا بخدا ديگه خسته شدم از بس از اينو واون كمك خواستم و فقط شنيدم كه جستجو كن من قبول دارم تو سايت هست ولي سواد من نميرسه كاملا مطالبو باز كنمو جوابمو از توش دربيارم من تازه دلفي رو شروع كردم خواهشا اگه زحمتي نيست كد داخل فايل dll و كد داخل برنامه اصلي را برام بنويسيد

  8. #8

    نقل قول: DLL در دلفی

    مثال عملي

    library Project2;

    uses
    SysUtils,
    Classes;

    {$R *.res}
    procedure WebsiteAddress(Address: PChar);
    begin
    StrCopy(Address, 'https://barnamenevis.org/forum')
    end;

    exports
    WebsiteAddress;

    begin
    end.
    نحوه استفاده

    procedure TForm1.Button1Click(Sender: TObject);
    var
    DLL: HMODULE;
    WebsiteAddress: procedure(Address: PChar);
    Buffer: array[0..255] of Char;
    begin
    DLL := LoadLibrary('Project2.dll');
    if DLL <> 0 then
    try
    WebsiteAddress := GetProcAddress(DLL, 'WebsiteAddress');
    if Assigned(WebsiteAddress) then
    begin
    WebsiteAddress(Buffer);
    Edit1.Text := Buffer;
    end;
    finally
    FreeLibrary(DLL);
    end;
    end;

    چندتا نکته:
    1-لحن طلب‏کارانه لحن مناسبي براي صحبت نيست.
    2-اگه با اين کار ميخوايد که امنيت رشته آدرس وبسايت رو بالا ببريد، اصلا کارآمد نيست.
    3-در استفاده از dllها، موقع کار با حافظه مراقب باشيد. بافرها به موقع تخصيص داده بشه و به موقع آزاد بشه.
    4-رشته‏ها(AnsiString و WideString) و همچنين آرايه‏هاي ديناميک(x:array of y)، براي انتقال بين دو تا تصوير اجرايي مناسب نيستند (مثلا بين dll و برنامه اجرايي)

    اگه خواستيد توابع ديگه‏اي هم تعريف کنيد، روش همينه. فقط اسمشو تو بخش exports بياريد.
    آخرین ویرایش به وسیله B-Vedadian : سه شنبه 08 مرداد 1387 در 08:03 صبح دلیل: اشتباه کوچک!

  9. #9

    نقل قول: DLL در دلفی

    شايد باورتون نشه درست يك هفته است من كل سايت شمارو زيرور رو كردم نتونستم جواب سوالمو پيدا كنم
    مشکل اکثر دوستان این هست که یک سوال چند وجهی دارند، و انتظار دارند در یک تاپیک به تمام آنها یکجا پرداخته شده باشه، یعنی؛ تاپیکی که در آن مستقیما درباره چگونگی خواندن آدرس یک سایت از داخل DLL و نمایش آن در یک WebBrowser بحث شده باشه. خب طبیعی هست که احتمال وجود همچین تاپیکی بسیار کم هست. شما باید خودتان سوالتان را به چند بخش تقسیم کنید، و بعد در سایت دنبال جواب هر بخش بگرید. مثلا:
    1- چگونه می توان در دلفی یک DLL ایجاد کرد.
    2- چگونه می توان از یک DLL در برنامه استفاده کرد.
    3- چگونه می توان یک رشته را از DLL به یک برنامه در حال اجرا ارسال کرد.
    4- چگونه می توان یک آدرس وب را در WebBrowser نمایش داد.
    و...

    اگر سوال خود را به فرض مثال به بخش های بالا تقسیم کرده بودید، متوجه می شدید که همه آنها قبلا در سایت بحث شده اند و برایشان راه حل ارائه شده. به فرض هم اگر یکی از راه حل ها را متوجه نشده بودید، می توانستید سوالتان را در همان تاپیک مطرح کنید.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  10. #10

    نقل قول: DLL در دلفی

    نقل قول نوشته شده توسط B-Vedadian مشاهده تاپیک
    1-لحن طلب‏کارانه لحن مناسبي براي صحبت نيست.

    اگه خواستيد توابع ديگه‏اي هم تعريف کنيد، روش همينه. فقط اسمشو تو بخش exports بياريد.
    دوست عزيز لحن من به هيچ وجه طلب كارانه نبود بلكه لحن التماسي بود
    همه اين كار هارو انجام دادم ولي وقتي button1 را كليك ميكنم هيچ اتفاقي نمي افته اگر كدها ناقص است لطفا كاملش كنيد در ضمن من هيچ اثري از webbrowser در اين كدها نديدم جايگاه اين webbrowser در داخل اين كدها كجاست و edit1 چيكار ميكنه
    باز هم من اگه لحنم بدبود معذرت ميخوام اين سايت اميد همه بچه هاي اماتور و حرفه اي در زمينه برنامه نويسي است

  11. #11

    نقل قول: DLL در دلفی

    من این کد رو خودم تست کردم. اگه رو فرم یه TButton به نام Button1 و یه TEdit به نام Edit1 بذارید، متن تابع رو هم برای OnClick همون Button1 بذارید، وقتی رو Button1 کلیک کنید، تو Edit آدرس سایت میآد.

    دو حالت داره، یا شما تابع Button1Click رو به OnClick مربوط به Button نسبت ندادید، یا فایل project2.dll رو به آدرس پروژه exeی مربوطه کپی نکردید.

    در مورد WebBrowser هم باید بگم که ربطی به این موضوع نداره. مقصود یک سورسه که نحوه استفاده از DLLها رو بصورت عملی تو دلفی نشون بده. وقتی آدرس رو داشته باشید، هر کاری که خواستید میتونید باهاش بکنید.

    یه نکته هم بگم. دلفی بصورت پیش‏فرض میتونه با array[0..n] of Charها بصورت PChar کارکنه. این یعنی میتونید اونها رو به Stringها هم نسبت بدید.

  12. #12

    نقل قول: DLL در دلفی

    نقل قول نوشته شده توسط B-Vedadian مشاهده تاپیک

    اگه خواستيد توابع ديگه‏اي هم تعريف کنيد، روش همينه. فقط اسمشو تو بخش exports بياريد.
    من در اين كدها چيزي بنام exports نديدم بايد خودم ايجاد كنم يا از كدها جامونده و ناقص هست چون من همه اون كارهارو انجام دادم وقتي button1راكليك ميكنم تو edit1هيچ اتفاقي نمي افته لطفا كدهارو چك كنيد

  13. #13

    نقل قول: DLL در دلفی

    حق با شماست. (الآن اصلاح شده همون پست رو ببینید)
    بلافاصله قبل begin و end. بنویسید exports WebsiteAddress;

برچسب های این تاپیک

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

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