Форум: "Игры";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизОшибка Найти похожие ветки
← →
Evgeniy_K (2004-07-22 16:19) [0]Что-то я забыл :)
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 Что я где забыл? Заранее спасибо.
← →
Evgeniy_K (2004-07-22 17:26) [1]Никто что лли не знает? =(
← →
cyborg © (2004-07-22 17:42) [2]function DrawChar(Var Surface: IDirectDrawSurface7; ch: char; x,y: integer; size: Byte): HResult;
TextMatrix может кривой.
← →
Evgeniy_K (2004-07-22 17:51) [3]Var и Out - одно и тоже. TextMatrix не кривой! Если все это перенести в тот же объект, где эта поверхность, то будет работать. Мне надо же чтобы было в отдельном модуле.
← →
Evgeniy_K (2004-07-22 18:01) [4]он на входе говорит, что я обращаюсь к несуществующей поверхности
← →
Белый Крыс © (2004-07-22 18:31) [5]function DrawChar(const Surface: IDirectDrawSurface7; ch: char; x,y: integer; size: Byte): HResult;
Может так. Проверь, точно ли загружается графика. У тебя именно через 15 пикселей идут буквы?
← →
NikeOLD © (2004-11-08 16:11) [6]
> Evgeniy_K (22.07.04 17:51) [3]
> Var и Out - одно и тоже.
Не одно и тоже.
← →
Anton_K © (2004-11-08 16:58) [7]ИМХО, ошибка не в этой функции. А var, out, const тут никакой роли не играют, так как Surface здесь интерфейс, то есть Pointer.
← →
Anton_K © (2004-11-08 17:08) [8]Хотя, out лучше всё-таки не писать. :-)
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c