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

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

Указатели и 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;


Наверх

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