Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#50

Re: Andorra 2D - The Next Generation 2D Engine

  Alt 28. Jan 2007, 12:30
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."
  Mit Zitat antworten Zitat