Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Проблема с Dll   Найти похожие ветки 

 
Ripper ©   (2005-03-27 05:49) [0]

Уважаемые  мастера, вот отрезак кода
procedure TForm1.Button4Click(Sender: PObj);
var
H:THandle;
Show:procedure(COmponentHandle:HDC;FileName:PChar;W,H:integer);
begin
h:=LoadLibrary(PCHar("gif.dll"));
if H <> 0 then
 begin
   @Show:=GetProcAddress(h,"Show");
   if @Show <> nil then
 Show(imageshow1.canvas.Handle,PCHar("pic.gif"),imageshow1.Width,imageshow1.Height);
 end;
FreeLibrary(h);

Предполагается что данный код по нажатию кнопки будет отрисовывать картинку на ImageShow1, вместо этого программа вылетает.

Вот код dll
library gif;

uses
 KOL,KOlGif,Windows;

procedure Show(COmponentHandle:HDC;FileName:PChar;W,H:integer) stdcall;
var
 gif:pgif;
 r:trect;
begin
 Gif:=NewGif;
 Gif.LoadFromFile(String(FileName));
 R.Right:=0;
 R.Left:=W;
 R.Top:=0;
 R.Bottom:=H;
 Gif.StretchDraw(ComponentHandle,R);
 Gif.Free;
end;
exports Show;  
end.

Если используется привязка dll, а не динамическая загрузка, то все работает как часы.


 
Владимир Кладов   (2005-03-27 06:51) [1]

stdcall



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.047 c
2-1129763043
Dankin
2005-10-20 03:04
2005.11.20
txt фаил в unicode кодировке!!! Как правильно считать ???


14-1130501973
NiGGa
2005-10-28 16:19
2005.11.20
Компонента графика


3-1128617563
Michael5
2005-10-06 20:52
2005.11.20
Скролл "колесиком" в DBGrid работает только в видимой части грида


2-1130834044
Got
2005-11-01 11:34
2005.11.20
Как передать в функцию перечесляемый тип?


5-1110291542
Sphinx
2005-03-08 17:19
2005.11.20
Можно ли опубликовать в наследнике функцию ?