Разные TBitmap

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Разные TBitmap

Сообщение GAMER » 05.12.2010 02:19:51

Хотел скриншотик сделать.
Код: Выделить всё
procedure TMainForm.Button1Click(Sender: TObject);
Var
  MyBitmap : TBitmap;
  ScreenDC : HDC;
begin
  MyBitmap:=TBitmap.Create;
  ScreenDC:=GetDC(Camera.Handle);
  MyBitmap.LoadFromDevice(ScreenDC);
  Image1.Picture.Bitmap:=MyBitmap;
  MyBitmap.Free;
end;

Все нормально.
Вставляю в другую программу - ругается.
Разбираюсь.
Во второй программе используется модуль Windows, в котором есть код:
Код: Выделить всё
     BITMAP = record
          bmType : LONG;
          bmWidth : LONG;
          bmHeight : LONG;
          bmWidthBytes : LONG;
          bmPlanes : WORD;
          bmBitsPixel : WORD;
          bmBits : LPVOID;
       end;
     PBITMAP = ^BITMAP;
     NPBITMAP = ^BITMAP;
     LPBITMAP = ^BITMAP;
     tagBITMAP = BITMAP;
     TBITMAP = BITMAP;

То есть TBitmap совершенно не тот, что в Graphics.
Что делать?
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Разные TBitmap

Сообщение Mr.Smart » 05.12.2010 07:07:18

В чём проблема?
Код: Выделить всё
procedure TMainForm.Button1Click(Sender: TObject);
Var
  MyBitmap : Graphics.TBitmap;
  ScreenDC : HDC;
begin
  MyBitmap:=Graphics.TBitmap.Create;
  ScreenDC:=GetDC(Camera.Handle);
  MyBitmap.LoadFromDevice(ScreenDC);
  Image1.Picture.Bitmap:=MyBitmap;
  MyBitmap.Free;
end;
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Разные TBitmap

Сообщение GAMER » 05.12.2010 13:38:45

Хм... Все нормально. Где-то была ошибка и такой вариант при Кнтр+Пробел не сработал, по-этому поднял панику. Сейчас все нормально.
Кнтр+Пробел - зло! :)
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Разные TBitmap

Сообщение Sheleh » 06.12.2010 10:53:03

Было тоже самое, когда добавил в uses модуль windows в самом конце списка. А надо было в начале.
Sheleh
новенький
 
Сообщения: 24
Зарегистрирован: 12.11.2010 18:31:07


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30

Рейтинг@Mail.ru