![]() |
Re: Andorra 2D [Ver. 0.30 BETA, 22.11.07]
grml, doch das meine ich. Aber ich würde es case-insensitive machen. Also
Delphi-Quellcode:
in
function TAdComponent.FindComponent(AName: string): TAdComponent;
var i:integer; begin if Name = AName then begin result := self; end {...}
Delphi-Quellcode:
ändern.
function TAdComponent.FindComponent(AName: string): TAdComponent;
var i:integer; begin if Lowercase(Name) = LowerCase(AName) then begin result := self; end {...} Ansonsten kann ich nur sagen :wall: - waren die Finger mal wieder schneller als das Hirn :mrgreen: |
Re: Andorra 2D [Ver. 0.30 BETA, 22.11.07]
Andorra 2D 0.30 STABLE
Download: Version 0.30 STABLE (ZIP): ![]() Version 0.30 STABLE (BZ2): ![]() Ab heute ist Andorra 2D 0.30 STABLE zum Herunterladen verfügbar. Wichtige Änderungen gegebüber der BETA Version:
Die nächste Version wird 0.35 sein - dann endlich mit Linuxsupport. Dies wird durch verschiedene "TAdWindowFrameworks" ermöglicht. Ein NonVCL-Win32 Framework habe ich schon geschrieben (damit kann man endlich Spiele mit ~100kb Dateigröße erstellen), sowie eine VCL Anbindung. Gerade sitze ich an der OpenGL GLFW Version. Ein leeres OpenGL-Fenster kann ich damit unter Linux schon einmal erzeugen. Viel Spaß mir der neuen Version, Andreas |
Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]
Moin zusammen.
Nachdem ich jetzt ![]() |
Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]
@Igel: Ich bekomme neuerdings beim Beenden der Anwendung einen Speicherfehler. Habe das ganze auf folgende Stelle eingrenzen können:
Delphi-Quellcode:
Vielleicht kommst du ja hier weiter - mehr habe ich nicht hinbekommen
procedure TAdFontMap.Clear;
var i,j:integer; p:PAdLinkedList; c:PAdMapPair; begin p := Data; for i := 0 to Capacity - 1 do begin p^.StartIteration; while not p^.ReachedEnd do begin c := PAdMapPair(p^.GetCurrent); c^.Key.Free; Dispose(c); // <<<--- Hier kommt der Speicherfehler FCount := FCount - 1; end; for j := 0 to p^.Count - 1 do begin p^.Delete(0); end; inc(p); end; end; |
Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
eigentlich kann der Speicherfehler nur auftreten, wenn ein ungültiges Element in der Fontmap vorhanden ist. Das bedeutet vermutlich, dass du irgendwo ein mit TAdFontFactory.GenerateFont generiertes Fontobjekt selbst freigibst. Sollte dies nicht der Fall sein, so brauche ich mehr Informationen. Im Anhang befindet sich noch ein Vorgeschmack auf die nächste Version... |
Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]
hm, das Problem ist, dass ich AdFont und AdFontFactory gar nicht genutzt habe. Habe nur über den Canvas mit Textout was ausgegeben. Mit Fonts habe ich bisher nie gezielt gearbeitet.
|
Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]
Das ist wirklich seltsam. Kommt der Fehler noch, wenn du den Textausgabeteil auskommentierst? Gibst du auch wirklich nirgends ein Fontobjekt frei? TAdCanvas.Font wird schließlich auch über TAdDraw.Fonts.GenerateFont erzeugt. Vielleicht gelingt es dir, den Fehler ein bisschen genauer einzugrenzen.
|
Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]
Also, der Fehler kommt leider auch, wenn ich die Textausgabe auskommentiere. Habe den gesamten Code nochmal abgesucht und ich erzeuge nichts manuell was mit Fonts zu tun hat. In den Demos kommt der Fehler nicht vor - muss also an irgendetwas von mir liegen. Source ist leider viel zu viel zum Anhängen. Ich werde morgen mal weiterforschen...
|
Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang mal noch ein Bild zum Thema "Andorra 2D auf Linux". Ich habe jetzt nämlich (nach langem herumsuchen) Lazarus endlich dazu gebracht auch Bilder zu laden.
Edit: Läuft mit 700FPS |
Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]
Moin,
erstmal will ich sagen, dass es mich total freut, dass die Linux-Geschichte so gut voran geht, das wollte ich nämlich dann auch mal testen. Aber eigentlich habe ich nur eine dumme Frage.. folgendes:
Delphi-Quellcode:
Das mache ich in meinem TGameManager wie man sieht und soweit funktioniert das auch. FAdGUI.Free wird auch aufgerufen, allerdings wird irgendwie nicht alles freigegeben (Alles nach Tutorial gebaut). Angeblich wurden 19 mal TMemoryStream nicht freigegeben. Lasse ich das .LoadFromFile weg, bekomme ich diesen Fehler nicht. Habe auch ein bisschen durch-debuggt, aber meiner Meinung nach wird das alles wieder freigegeben.
constructor TGUIManager.Create(AdDraw: TAdDraw);
begin FAdGUI := TAdGUI.Create(AdDraw); FAdGUI.Skin.LoadFromFile('Z:\sunna.axs'); end; Benutze die 0.30 STABLE, Fehler war auch mit in der 0.30 BETA, die sunna.axs ist die mitgelieferte. Kann das irgendjemand irgendwie nachvollziehen oder so? Ich komme da irgendwie nicht weiter so, habe das ReportMemoryLeaksOnShutdown erstmal abgestellt. Fiel mir gerade noch ein: Nach dem Update auf 0.30 STABLE hat er sich in der AdApps.pas übrigens beschwert, dass TAdPerformanceCounter unbekannt ist. Habe AdPerformanceCounter dann selbst zu den uses geschrieben, dann ging das alles. Danke für Antworten :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 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