Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка


Evgeniy_K ©   (2004-07-22 16:19:00) 

Что-то я забыл :)

function DrawChar(Surface: IDirectDrawSurface7; ch: char; x,y: integer; size: Byte): HResult;
var
 Source: TRect;
 p: Integer;
begin
 Result:= DD_OK;
 if not Assigned(TextMatrix) then begin
   Result:= DD_FALSE;
   exit;
 end;
 // "mask"
 p:= ord(ch) - 32;
 with Source do begin
   Left:= (p mod 16) * 15;
   Right:= Left + 15;
   Top:= (p div 16) * 15;
   Bottom:= Top + 15;
 end;
 Result:= Surface.BltFast(x, y, TextMatrix, @Source, DDBLTFAST_WAIT or DDBLTFAST_SRCCOLORKEY);
end;


Эта функция ничего не нарисует. Если yfgнаписать так:
function DrawChar(out Surface: IDirectDrawSurface7; ch: char; x,y: integer; size: Byte): HResult;

то будет ошибка, мол FFFFFF Что я где забыл? Заранее спасибо.


Anton_K   (2004-11-08 17:08:00) [1]

Хотя, out лучше всё-таки не писать. :-)


Anton_K   (2004-11-08 16:58:00) [2]

ИМХО, ошибка не в этой функции. А var, out, const тут никакой роли не играют, так как Surface здесь интерфейс, то есть Pointer.


NikeOLD   (2004-11-08 16:11:00) [3]


> Evgeniy_K   (22.07.04 17:51) [3]
> Var и Out - одно и тоже.

Не одно и тоже.


Белый Крыс   (2004-07-22 18:31:00) [4]

function DrawChar( constSurface: IDirectDrawSurface7; ch: char; x,y: integer; size: Byte): HResult;
Может так. Проверь, точно ли загружается графика. У тебя именно через 15 пикселей идут буквы?


Evgeniy_K   (2004-07-22 18:01:00) [5]

он на входе говорит, что я обращаюсь к несуществующей поверхности


Evgeniy_K   (2004-07-22 17:51:00) [6]

Var и Out - одно и тоже. TextMatrix не кривой! Если все это перенести в тот же объект, где эта поверхность, то будет работать. Мне надо же чтобы было в отдельном модуле.


cyborg   (2004-07-22 17:42:00) [7]

function DrawChar( VarSurface: IDirectDrawSurface7; ch: char; x,y: integer; size: Byte): HResult;

TextMatrix может кривой.


Evgeniy_K   (2004-07-22 17:26:00) [8]

Никто что лли не знает? =(


Наверх

Титульная страница Поиск, карта сайта Написать письмо