Hi,
Also ich glaube irgendwas stimmt mit den Lichtern nicht... Oder ich mache was falsch...
Delphi-Quellcode:
// Meine Klasse
TTestSprite =
class(TImageSpriteEx)
public
Light:TLightSprite;
constructor Create(AParent:TSprite);
override;
end;
var
Test: TTestSprite;
// Initialisieren von Andorra und erstellen meines Test-Sprites
procedure TMainForm.FormCreate(Sender: TObject);
begin
FPS := TPerformanceCounter.Create;
Surface := TAdDraw.Create(Self);
try
Surface.DllName := '
AndorraDX93D.dll';
except
FatalError('
AndorraDX93D.dll konnte nicht gefunden oder geladen werden!');
end;
if not Surface.Initialize
then
FatalError('
Initialation failed!')
else Application.OnIdle := Idle;
Engine := TSpriteEngine.Create(
nil);
Test := TTestSprite.Create(Engine);
end;
constructor TTestSprite.Create(AParent: TSprite);
begin
inherited Create(AParent);
Light := TLightSprite.Create(Engine);
// AV
end;
{...}
{->AdDraws.pas}
// Intern geschieht beim Createn die AV genau hier:
procedure TAdDraw.RegisterNotifyEvent(AProc: TSurfaceEvent);
begin
FSurfaceEventList.Add(AProc);
//<---
end;
Und wenn ich mein Programm dann beende bekomme ich nochmal eine Zugriffsverletzung bei Adresse 000000.
PS: Hat sich erledigt: Ich hab
Engine.Surface := Surface;
vergessen
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."