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

Вниз

Подскажиет где торомжу, поему возникает ошибка Object or Class   Найти похожие ветки 

 
Rule ©   (2004-09-28 11:22) [0]

Type Requared. Пишу простого наследника дбгрида, в котором отображается графика вот код
unit Unit2;

interface
uses DB, DBGRIDS,  Graphics, DBTables, WinTypes, Classes, Grids;
type
 TDBMyGRID= class (TDBGrid)
   protected
     procedure DrawDataCell(const Rect:TRect; Field:TField; State:TGridDrawState);override;
   end;

implementation

procedure TDBMyGrid.DrawDataCell(const Rect:TRect; Field:TFIeld;
State:TGRidDrawState);
var
BitMap1 : TBitMap;
begin

   with Canvas do
   begin
       FillRect(Rect);
       if Field  is TGraphicField then
       try
            ошибка при компиляции возникает тут:
           BitMap1:=TBitMap.Create;

           BitMap1.Assign(Field);
           Draw(Rect.Left, Rect.Top, BitMap1);
       finally
           BitMap1.Free;
       end
       else
           TextOut(Rect.Left, Rect.Top, Field.Text);
      end;
 end;
end;


 
Ozone ©   (2004-09-28 11:28) [1]

Ну во-первых TBitMap.Create нужно делать до try..finally, а во-вторых что пишет-то, какую ошибку?


 
Rule ©   (2004-09-28 11:31) [2]

Вопрос, почему делать до, непонятно, по логике вешей я создаю объект внутри конструкции и в финали обеспечиваю освобождение памяти в любом случае, даже если позникла ошибка,
а ошибка такая:
Object or Class type required.


 
TUser ©   (2004-09-28 11:35) [3]

Я думаю, что Assign от TField - это ему наверное не нравится.


 
Гаврила ©   (2004-09-28 11:40) [4]

А я знаю в чем дело
У тебя в Uses не обхявлен Graphics
и Delphi цепляет тип TBitmap из модуля Windows - он там есть ,и это record


 
Гаврила ©   (2004-09-28 11:41) [5]

А, объявлен.... все равно, Graphics должен быть объявлен после WinTypes
(кстати WinTypes давно пора заменить на Windows)


 
Гаврила ©   (2004-09-28 11:43) [6]

BitMap1.Assign(Field);

а это бред


 
TUser ©   (2004-09-28 11:43) [7]

И все равно Assign от TField"а не получиться


 
Ozone ©   (2004-09-28 11:43) [8]

Убери WinTypes


 
Rule ©   (2004-09-28 11:44) [9]

TUser ©   (28.09.04 11:35) [3]
Не тута все нормально
Гаврила ©   (28.09.04 11:40) [4]
Ого спасибо, даже бы и не догадался бы :)
Гаврила ©   (28.09.04 11:41) [5]
Уже заменил :)

Всем огромное спасибо за помощь


 
DiamondShark ©   (2004-09-28 12:24) [10]


> TUser ©   (28.09.04 11:43) [7]
> И все равно Assign от TField"а не получиться

Да правда, что-ли?!

{DB.pas}
procedure TBlobField.AssignTo(Dest: TPersistent);
begin
 if Dest is TStrings then
 begin
   SaveToStrings(TStrings(Dest));
   Exit;
 end;
 if Dest is TBitmap then
 begin
   SaveToBitmap(TBitmap(Dest));
   Exit;
 end;
 if Dest is TPicture then
 begin
   SaveToBitmap(TPicture(Dest).Bitmap);
   Exit;
 end;
 inherited AssignTo(Dest);
end;



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

Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.037 c
11-1073918606
miek
2004-01-12 17:43
2004.10.10
Бартову и Кладову: глюки в XHelpGen


1-1096030702
Mirror
2004-09-24 16:58
2004.10.10
GetLogicalDrives


14-1095131033
Kair()
2004-09-14 07:03
2004.10.10


9-1086805912
VitGun
2004-06-09 22:31
2004.10.10
Подсветка объектов. GLScene.


1-1096282504
M-Alex
2004-09-27 14:55
2004.10.10
Панель





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский