Главная страница
    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.46 MB
Время: 0.082 c
1-1096122947
Koala
2004-09-25 18:35
2004.10.10
Как сделать секундомер с милисекундами


8-1090228258
bander_log
2004-07-19 13:10
2004.10.10
Печать графики и ее преобразование...


1-1095941420
Aleksandr.
2004-09-23 16:10
2004.10.10
Как TListBox у назначить свою сортировку?


1-1095873161
GanibalLector
2004-09-22 21:12
2004.10.10
CLSIDFromProgID


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