Форум: "KOL";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
ВнизПроблема с 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 вся ветка
Форум: "KOL";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.056 c