![]() |
[Andorra] Kompilieren der DLL unter Delphi XE2
Hallo,
Ich benutze das OpenGL Plugin der Andorra2D Engine unter Delphi XE2 Professional. Wie von Autor angeraten, habe ich das DLL-Projekt für meine Version neu kompiliert, da es zu Änderungen des internen Objektformats gekommen sein könnte. Jedoch erhalte ich mit der selbst kompilierten DLL beim Aufruf der abstrakten Methode TAd2dRenderTargetTexture.SetSize, die in der DLL implementiert ist, eine Zugriffsverletzung auf die Adresse 0. Diese Methode wird unter anderem zum Erstellen von Objekten des Typs TAdSpritePixelCollisionTester oder TAdTextureSurface benötigt. Die mitgelieferte, in Delphi Turbo Explorer 2006 kompilierte DLL funktioniert jedoch einwandfrei. Sind besondere Compiler-Einstellungen von Nöten? Oder gibt es eine andere Lösung für dieses Problem? Viele Grüße, Yuishiro |
AW: [Andorra] Kompilieren der DLL unter Delphi XE2
Ist das Objekt instantiiert?
|
AW: [Andorra] Kompilieren der DLL unter Delphi XE2
SetSize wird hier aufgerufen:
Code:
procedure TAdRenderTargetTexture.UpdateSize;
begin if FAd2dTexture <> nil then begin Texture.SetSize(FWidth, FHeight, FBitDepth); end; end;
Code:
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:
function TAdRenderTargetTexture.GetTexture: TAd2dRenderTargetTexture;
begin result := TAd2dRenderTargetTexture(inherited Texture); end; //aus TAdCustomTexture: property Texture: TAd2dTexture read FAd2DTexture write SetAd2DTexture;
Code:
Also sollte Texture vorher instanziert worden sein.
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; Viele Grüße, Yuishiro |
AW: [Andorra] Kompilieren der DLL unter Delphi XE2
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz