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

نام تاپیک: استفاده از عکسهای داخل dll

  1. #1

    استفاده از عکسهای داخل dll

    سلام به همه دوستان
    اول این رو بگم که من خیلی وقته با این سایت آشنا شدم ولی تا حالا وقت نشده بود پست بزنم
    و فکر کنم این اولین پست من باشه
    به هر حال
    سوال:
    1- چه جوری می شه bitmap ها یا sound ها یا strings و... داخل یک dll رو در برنامه دلفی استفاده کرد(مثلا شبیه استفاده از ریسورسها در دلفی )
    2- از کجا می شه فهمید توی یک dll چه توابعی وجود داره و پارمترهای اون چیه و چه جوری تغییر می کنند.

  2. #2
    کاربر دائمی آواتار esi022
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    علم چال
    پست
    338
    procedure TForm1.Button1Click(Sender: TObject);
    var
    LibHandle: THandle;
    Bitmap: Tbitmap;
    begin
    LibHandle:=Loadlibrary('MyDLL.dll');
    try
    if LibHandle<>0 then
    begin
    Bitmap:=TBitmap.Create;
    Bitmap.LoadFromResourceName(LibHandle,'BITMAP3 ');
    Image1.Canvas.Draw(0,0,Bitmap);
    end;
    finally
    Bitmap.Free;
    end;
    end;


    تست کن
    ولی دومی رو !!!!
    http://www.experts-exchange.com/Prog..._20818757.html

  3. #3
    سلام
    تشکر از جوابتون
    وقتی از این استفاده می کنم پیغام
    Access violation at address 00403104 in module
    رو می ده
    برای اینن کار برنامه آماده ندارید تا سورش رو ببینیم
    تشکر

  4. #4
    کاربر دائمی آواتار esi022
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    علم چال
    پست
    338
    سلام
    نکته1 : LoadBitmap does not support 256-color images.
    نکته 2 : mydll.dll رو با dll خودت جایگزین کردی؟ - میتونی از exe و res هم خروجی بگیری
    کد زیر رو هم میتونی چک کنی
    بجای resid از 0 یا 1 شروع کن
    procedure LoadFromResourceID(Instance: THandle; ResID: Integer);

  5. #5
    1- فکر می کنم عکسی که می خوام استفاده کنم 16 رنگ باشه (برای 256 به بالا باید از چه دستوری استفاده کنیم)
    2- اسم دی ال ال رو هم عوض کردم
    من کد رو یه کمی دست کاری کردم و ایف رو برداشتم حالا یه پیغام دیگه می ده که resource X not found
    که ایکس هم اسم بیت مپ مورد نظر است

  6. #6
    درست شد با این کد
    procedure TForm1.Button2Click(Sender: TObject);
    var
    LibHandle: THandle;
    Bitmap: Tbitmap;
    begin
    LibHandle:=Loadlibrary('shell32.dll');
    Bitmap:=TBitmap.Create;
    Bitmap.LoadFromResourceID(LibHandle,strtoint&# 40;edit1.Text ));
    Image1.Canvas.Draw(0,0,bitmap);
    end;

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

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