Главная страница
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.049 c
2-1166708713
Vitaly
2006-12-21 16:45
2007.01.14
Как из TDateTime получить TDateTime минус несколько часов


15-1166213661
Kostafey
2006-12-15 23:14
2007.01.14
Частичный Backup БД


2-1167021252
Руслан56
2006-12-25 07:34
2007.01.14
Составление запроса


15-1166870445
lookin
2006-12-23 13:40
2007.01.14
Посмотрел Список Шиндлера....


15-1166899037
ferr
2006-12-23 21:37
2007.01.14
"Убийственный MessageBox от Мелкомягких"