При компиляции Embarcadero VirtualShellTools в Delphi 2007: http://embtvstools.svn.sourceforge.net/
function TShellIDList.InternalChildPIDL(Index: integer): PItemIDList;
{ Remember PIDLCount does not count index [0] where the Absolute Parent is }
begin
if Assigned(FCIDA) and (Index > -1) and (Index < PIDLCount) then
Result := PItemIDList( PByte(FCIDA)
+ PDWORD(PByte(@FCIDA^.aoffset)
+sizeof(FCIDA^.aoffset[0])*(1+Index))^)
else
Result := nil
end;
Я получаю эту ошибку:
[Pascal Error] IDEVirtualDataObject.pas (1023): E2015 Оператор не применим к этому типу операнда
В чем проблема с этим кодом и какой тип приведения типов мне нужно сделать, чтобы он действительно работал?
Я получаюта же ошибка в следующей (менее сложной) подпрограмме:
function TShellIDList.InternalParentPIDL: PItemIDList;
{ Remember PIDLCount does not count index [0] where the Absolute Parent is }
begin
if Assigned(FCIDA) then
Result := PItemIDList( PByte(FCIDA) + FCIDA^.aoffset[0])
else
Result := nil
end;