SetSize wird hier aufgerufen:
Code:
procedure TAdRenderTargetTexture.UpdateSize;
begin
if FAd2dTexture <> nil then
begin
Texture.SetSize(FWidth, FHeight, FBitDepth);
end;
end;
Code:
function TAdRenderTargetTexture.GetTexture: TAd2dRenderTargetTexture;
begin
result := TAd2dRenderTargetTexture(inherited Texture);
end;
//aus TAdCustomTexture:
property Texture: TAd2dTexture read FAd2DTexture write SetAd2DTexture;
Wobei der Rückgabewert von GetTexture <> nil ist, da TAdRenderTargetTexture von TAdCustomTexture abgeleitet ist und FAd2dTexture, auf das nun zugegriffen wird, vorher erstellt wurde, soweit ich das verstanden habe:
Code:
procedure TAdRenderTargetTexture.Initialize;
begin
Finalize;
FAd2dTexture := Parent.AdAppl.CreateRenderTargetTexture; //Diese Methode greift auch auf die
DLL zu
//Break here if the result was nil.
if FAd2dTexture = nil then
raise EAdInterfaceCreation(MsgSurfaceInterfaceNotAvailable);
FAd2dTexture.Filter := FFilter;
UpdateSize;
end;
Also sollte Texture vorher instanziert worden sein.
Viele Grüße,
Yuishiro