Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.013 c
2-1166708713
Vitaly
2006-12-21 16:45
2007.01.14
Как из TDateTime получить TDateTime минус несколько часов


2-1166896011
Evo
2006-12-23 20:46
2007.01.14
cd-rom


2-1166631349
Чуча
2006-12-20 19:15
2007.01.14
Отчеты


15-1166507586
IMHO
2006-12-19 08:53
2007.01.14
Бунт на корабле


4-1156830030
DelphiLexx
2006-08-29 09:40
2007.01.14
Как узнать использует ли приложение DoubleBuffered





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский