Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Andorra 2D Gui Problem (https://www.delphipraxis.net/138694-andorra-2d-gui-problem.html)

sabbert 15. Aug 2009 13:00


Andorra 2D Gui Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hey,

bin dabei mich mal an dem GUI-System zu versuchen, aber es will nicht klappen :(

Werde den Code anhängen, vielleiht liegt dabei das Problem oder an den Dateien die geladen werden?!

Also sobald ich das Programm starte gibt es eine "schöne" Zugriffverletzung, aber sobald

ich die gui.axg rauskommentiere scheint es zu starten aber außer einem schwarzen Fenster wird nix angezeigt,

is denke ich klar, da in der GUI.axg daten zum Aussehen gespeichert werden. Hoffe ich habe das richtig verstanden.

Falls es an der Datei liegt und nicht am Code, frage ich mich wie man diese dann richtig erstellt ???

Hier der Code:

Delphi-Quellcode:
unit uMain;

interface

uses
  Windows, Dialogs, SysUtils, Graphics, Classes, Forms, AdDraws, AdClasses,
  Controls, ExtCtrls, AdSprites, AdSetupDlg, AdPNG, AdPerformanceCounter,
  AdGUI,AdComponents;
type
  TForm1= class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    AdDraw:TAdDraw;
    AdPerCounter:TAdPerformanceCounter;
    AdImageList1:TAdImageList;
    AdSpriteEngine:TSpriteEngine;
    procedure Idle(Sender:TObject;var Done:boolean);
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  AdGUI : TAdGUI;
const
  path = './resources/';

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  i:integer;
  AdSetupDlg:TAdSetup;
begin
  AdPerCounter := TAdPerformanceCounter.Create;

  AdDraw := TAdDraw.Create(self);

  AdSetupDlg := TAdSetup.Create(AdDraw);
  AdSetupDlg.Image := 'logo1.png';

  if AdSetupDlg.Execute then
  begin
    if AdDraw.Initialize then
    begin
      Application.OnIdle := Idle;

      AdImageList1 := TAdImageList.Create(AdDraw);
      AdImageList1.Restore;

      AdGUI := TAdGUI.Create(AdDraw); //Erzeugen der Klasse
      AdGUI.Skin.LoadFromFile('sunna.axs'); //Laden des Skins
      AdGUI.Cursors.LoadFromFile('cursors.xml'); //Laden der Cursor
      AdGUI.LoadFromFile('Gui.axg'); //Laden der GUI

      AdSpriteEngine := TSpriteEngine.Create(nil);
      AdSpriteEngine.Surface := AdDraw;



      Randomize;
    end
    else
    begin
      ShowMessage(AdDraw.GetLastError);
      halt;
    end;
  end
  else
  begin
    halt;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  AdSpriteEngine.Free;
  AdImageList1.Free;
  AdPerCounter.Free;
  AdDraw.Free;
end;

procedure TForm1.Idle(Sender: TObject; var Done: boolean);
begin
  if AdDraw.CanDraw then
  begin
    AdPerCounter.Calculate;
    Caption := 'FPS:'+inttostr(AdPerCounter.FPS);

    AdDraw.ClearSurface(clBlack);
    AdDraw.BeginScene;

    AdSpriteEngine.Move(AdPerCounter.TimeGap / 1000);
    AdSpriteEngine.Draw;
    AdSpriteEngine.Dead;

    AdDraw.EndScene;
    AdDraw.Flip;

    Done := false;
  end;
end;

end.

igel457 15. Aug 2009 13:02

Re: Andorra 2D Gui Problem
 
An welcher Stelle im Code wird die Exception geworfen?

sabbert 15. Aug 2009 14:37

Re: Andorra 2D Gui Problem
 
bei dieser Zeile:

Delphi-Quellcode:
AdGUI.LoadFromFile('Gui.axg'); //Laden der GUI

Vasco da Gama 15. Aug 2009 15:08

Re: Andorra 2D Gui Problem
 
Existiert die Datei? Ist sie richtig geschrieben?

sabbert 15. Aug 2009 15:12

Re: Andorra 2D Gui Problem
 
ja diese existiert und ist richtig gescrieben!

Ich glaube es liegt an der datei selbst.

Hab die ja vllt falsch erstellt ?!

Vasco da Gama 15. Aug 2009 15:17

Re: Andorra 2D Gui Problem
 
probier mal ADGui in Form1 public zu deklarieren...

sabbert 15. Aug 2009 15:34

Re: Andorra 2D Gui Problem
 
habs gemacht bringt nichts...

vllt kann sich ja mal einer die Datei gui.axg angucken oder mir eine Beispiel datei erstellen?

igel457 15. Aug 2009 16:47

Re: Andorra 2D Gui Problem
 
Zitat:

Zitat von sabbert
bei dieser Zeile:

Delphi-Quellcode:
AdGUI.LoadFromFile('Gui.axg'); //Laden der GUI

Das meinte ich nicht. Ich meinte, bei welcher Zeile in der Bibliothek der Fehler kommt. Wenn Delphi bei der Exception zu dieser Zeile springt wirst du halt mal den Debugger einsetzen müssen.

Siehe auch hier: http://wiki.delphigl.com/index.php/Tutorial_Debugging

sabbert 15. Aug 2009 19:00

Re: Andorra 2D Gui Problem
 
also öhh ich weiß nur das es si9ch alles vollständig kompilieren lässt, aber wenn ich das Programm gestartet hab und die Datei geladen wird kommt diese Zugriffsverletzung.

Sonst schau dir einfach den Source code mit den Dateien an, hab ihn ja angehängt.

mfg ;-)

Vasco da Gama 17. Aug 2009 07:47

Re: Andorra 2D Gui Problem
 
Naja, hat wahrscheinlich nichts mit dem Fehler zu tun, aber im Form Destroy ganz am Anfang:
Delphi-Quellcode:
AdGUI.Free;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr.
Seite 1 von 2  1 2      

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