Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > TBitmap из dll


Автор: Vasya 15.7.2003, 10:35
Привет!

В Dll.dll пишу:

procedure proc1(var bmp: TBitmap);
begin
with bmp.Canvas do
begin
Brush.Color := clRed;
Rectangle(0, 0, 100, 100);
end;

В моей проге:

TProc = procedure (var bmp: TBitmap); stdcall;
....
var
Handle: THandle;
proc1: TProc;
I: TBitmap;
begin
I := TBitmap.Create;
Handle := LoadLibrary('Dll.dll');
@proc1 := GetProcAddress(handle, 'proc1');
if @proc <> nil then
proc1(I);
Image1.Picture.Bitmap := I;
end;

Но прямоугольник Image1 не рисуется! А если в Dll.dll вставить
bmp.LoadFromFile, то в Image1 все нормально( и то, только после Repaint) . Как это объяснить?

Спасибо!

Автор: Vasya 15.7.2003, 10:46
Все, нашел, не смотря на то что в proc1 написано var bmp размеры битмапа надо всетаки самому установить

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)