![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Указатели и DirectDraw [D6, WinXP]
webpauk © (2005-06-03 15:04:00)есть:
TSomeObj = class;
private
fP: Pointer;
fSurf: IDirectDrawSurface7;
public
procedure Show;
end;
var
fTemp: IDirectDrawSurface7;
fSomeObj: TSomeObj;
begin
// создается поверхность fTemp
fSomeObj.fP:=@fTemp;
end;
// вопрос:
procedure TsomeObj.Show;
begin
// как отрисовывать поверхность, используя указатель
fSurf.bltfast(0, 0, ???, @fRect, DDBLTFAST_DONOTWAIT);
end;
webpauk (2005-06-03 17:14:00) [1]IDirectDrawSurface7(IUnknown(fP^)) - !!!!
webpauk (2005-06-03 17:05:00) [2]
> Digitman ©
поспешил я с бля-годарностью! Прога вываливается.
webpauk (2005-06-03 15:34:00) [3]
> Digitman ©
ну понесло! дык проект сложный, без объектов - запутаешься в процедурах
Digitman (2005-06-03 15:30:00) [4]а Остапа понесло - DirectDraw, да TSomeObj, да еще черт-те что и сбоку бантик)
Digitman (2005-06-03 15:29:00) [5]
> правильно вопрос звучит так
правильноон д.б. прозвучать так : как привести произвольный указательный тип к произвольному интерфейсному типу)
webpauk (2005-06-03 15:22:00) [6]
> Digitman ©
Спасибо
Digitman (2005-06-03 15:20:00) [7]IDirectDrawSurface7(IUnknown(fP))
или
IUnknown(fP) as IDirectDrawSurface7
webpauk (2005-06-03 15:15:00) [8]правильно вопрос звучит так:
как привести типы?
fSurf.bltfast(0, 0, IDirectDrawSurface7(fP), @fRect, DDBLTFAST_DONOTWAIT);- выдает ошибку
webpauk (2005-06-03 15:06:00) [9]Дополнение:
fSomeObj:=TsomeObj.create;