|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
bitmap -incompetible types
Добрый день, очень прошу помощи.
Подскажите,пож-та, сразу покажу мой код: Код:
uses Classes, SysUtils, Graphics; type { TBase } TBase=class private x: Integer; y: Integer; public constructor Create(x0, y0: Integer); procedure setX (x0: Integer); procedure setY (y0: Integer); function getX: Integer; function getY: Integer; end; { TStatic } TStatic=class(TBase) private bitmap: TBitmap; public constructor Create(x0, y0: Integer; bitmap0: TBitmap); procedure setBitmap (bitmap0: TBitmap); function getBitmap: TBitmap; end; { TAnimate } TAnimate=class(TBase) private bitmap: array[0..100] of TBitmap; curFrame: Integer; maxFrame: Integer; public constructor Create(x0, y0: Integer; bitmap0: array of TBitmap; maxFrame0: Integer); procedure nextFrame; procedure setBitmap(bitmap0: array of TBitmap); function getCurFrame: Integer; function getMaxFrame: Integer; function getBitmap:TBitmap; end; { TAnimate } constructor TAnimate.Create(x0, y0: Integer; bitmap0: array of TBitmap; maxFrame0: Integer); begin x:=x0; y:=y0; bitmap:=bitmap0; curFrame:= 0; maxFRame:= maxFrame0; end; procedure TAnimate.nextFrame; begin if curFrame < maxFrame then curFrame:=curFrame+1 else curFrame:=0; end; procedure TAnimate.setBitmap(bitmap0: array of TBitmap); begin bitmap:=bitmap0; end; function TAnimate.getCurFrame: Integer; begin result:= curFrame; end; function TAnimate.getMaxFrame: Integer; begin result:= maxFrame; end; function TAnimate.getBitmap: TBitmap; begin result:=bitmap[curFrame]; end; { TStatic } constructor TStatic.Create(x0, y0: Integer; bitmap0: TBitmap); begin x:=x0; y:=y0; bitmap:=bitmap0; end; procedure TStatic.setBitmap(bitmap0: TBitmap); begin bitmap:=bitmap0; end; function TStatic.getBitmap: TBitmap; begin result:=bitmap; end; { TBase } constructor TBase.Create(x0, y0: Integer); begin x:=x0; y:=y0; end; procedure TBase.setX(x0: Integer); begin x:=x0; end; procedure TBase.setY(y0: Integer); begin y:=y0; end; function TBase.getX: Integer; begin result:=x; end; function TBase.getY: Integer; begin result:=y; end; end. Выдает ошибку Incompetible Types в: constructor TAnimate.Create(x0, y0: Integer; bitmap0: array of TBitmap; maxFrame0: Integer); begin bitmap:=bitmap0; //вот в этом месте ошибка Очень-очень сильно прошу помочь. Видел в интернете описание с подобной ошибкой и пути решения, но так и не смог ее исправить. Прошу подробного кода на данном примере Последний раз редактировалось Admin, 22.03.2014 в 19:30. |
#2
|
|||
|
|||
Try this:
Код:
constructor TAnimate.Create(x0, y0: Integer; bitmap0: array of TBitmap; maxFrame0: Integer); var I : Integer; begin x:=x0; y:=y0; SetLength(bitmap,Length(bitmap0)); For I := Low(bitmap0) to High(bitmap0) Do bitmap[i] := bitmap0[i]; curFrame:= 0; maxFRame:= maxFrame0; end; |