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

Вниз

Ошибка :(   Найти похожие ветки 

 
TCrash   (2006-12-25 12:13) [0]

Есть код

unit cScreenShot;

interface
uses Classes,Graphics,SysUtils,Windows;

type
 TScreenShot=class
   BitMap: TBitMap;
   DC: HDC;
   constructor Create;
   destructor Destroy; override;
 end;

var ScrSht: TScreenShot;

implementation

constructor TScreenShot.Create;
begin
 inherited Create;
 DC:=GetDC(0);
 BitMap:=TBitMap.Create;
end;


На выделеной строке вылезает ошибка: Object or class type required.
Смотрим хелп :This error message is given when the syntax "Typename.Methodname" is used, but the typename does not refer to an object or class type. Но в классе TBitMap есть метод Create.
Подскажите плиз в чем тут дело.


 
icWasya ©   (2006-12-25 12:23) [1]

В модуле Windows тоже есть свой TBitmap, отличающийся от Graphics TBitmap.
Что бы устранить ошибку есть два пути -
1. В списке uses всегда указывать Windows перед Graphics
2. В спорных случаях использовать явное указание модуля, откуда берётся класс
 Bitmap : Graphics.TBitmap
 Bitmap := Graphics.TBitmap.Create;


 
Ega23 ©   (2006-12-25 12:24) [2]

Данный код работает.


 
Zaw ©   (2006-12-25 12:25) [3]

TBitmap = tagBITMAP;

 tagBITMAP = packed record
   bmType: Longint;
   bmWidth: Longint;
   bmHeight: Longint;
   bmWidthBytes: Longint;
   bmPlanes: Word;
   bmBitsPixel: Word;
   bmBits: Pointer;
 end;

TBitmap это не class, а record , соответственно нет и конструктора...


 
TCrash   (2006-12-25 12:30) [4]

icWasya ©   (25.12.06 12:23) [1]
Спасибо, щаз попробую.
Zaw ©   (25.12.06 12:25) [3]
Имелся в виду именно Graphics.TBitMap


 
Anatoly Podgoretsky ©   (2006-12-25 12:34) [5]

> TCrash  (25.12.2006 12:30:04)  [4]

У тебя имелся в виду, а у компилятора?


 
Loginov Dmitry ©   (2006-12-25 15:33) [6]

<offtop>

> DC:=GetDC(0);


Вероятно, из конструктора это следует убрать.

</offtop>


 
Джо ©   (2006-12-25 15:40) [7]

> [6] Loginov Dmitry ©   (25.12.06 15:33)
> Вероятно, из конструктора это следует убрать.

А чем оно там мешает-то?


 
Loginov Dmitry ©   (2006-12-25 15:57) [8]

> А чем оно там мешает-то?


Контекст вывода желательно вероятно следует получать непосредственно перед его использованием.



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
2-1166538376
maxistent
2006-12-19 17:26
2007.01.14
Реакция на <ESC>


2-1166689691
Draught
2006-12-21 11:28
2007.01.14
Два знака после запятой QReport


2-1167133279
Mishenka
2006-12-26 14:41
2007.01.14
Всплывающее окошко, как в ICQ


2-1166740295
XfroSt
2006-12-22 01:31
2007.01.14
Передача значения в поток thread


15-1166685830
vitv
2006-12-21 10:23
2007.01.14
Визуальное проектирование приложений C#-мнения