Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 15:08

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 197 Beiträge ]  Gehe zu Seite Vorherige  1 ... 10, 11, 12, 13, 14  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 30, 2009 07:42 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 20, 2006 17:34
Beiträge: 52
Sowohl tut_basics als auch die Demo laufen jetzt unter Delphi 2006 problemlos und ohne dass man irgendwas anpassen muss! :D
Vielen Dank!

_________________
2+2=5
For extremely large values of two


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 07, 2009 20:54 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 20, 2006 17:34
Beiträge: 52
Sry für den Doppelpost, aber sonst gehts wahrscheinlich unter:

Du scheinst beim beenden Objekte nicht freizugeben, wenn ich FastMM mit Report Memoryleaks in der Demo einbinde kommt das:
Zitat:
---------------------------
tut_basics.exe: Memory Leak Detected
---------------------------
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):



1 - 12 bytes: TSDLJoySticks x 1

13 - 20 bytes: TSDLInputManager x 1, TList x 1

29 - 36 bytes: TFB_LinkedList x 1, TSDLTicks x 1, TSDLKeyBoard x 1

53 - 60 bytes: TSDLMouse x 1

69 - 76 bytes: Unknown x 1

301 - 316 bytes: TFBU_SphereEmitter x 1



Note: To obtain a log file containing detail on memory leaks, enable the "FullDebugMode" and "LogMemoryLeakDetailToFile" conditional defines. To disable this memory leak check, undefine "EnableMemoryLeakReporting".


---------------------------
OK
---------------------------


Das SDL-Zeug liegt daran dass im Destruktor von dem TMainForm das inherited fehlt.

FParticles vom Context wird nicht freigegeben, da fehlt iwo nach 1693 ein
Code:
  1. FreeObj(FParticles);


Und der Destruktor vom TFBU_EffectManager fehlt gleich ganz, ich würd sowas vorschlagen:
Code:
  1.  
  2. destructor TFBU_EffectManager.Destroy;
  3. var
  4.   i: Integer;
  5. begin
  6.   for i := low(FEffects) to High(FEffects) do
  7.     FEffects[i].Free;
  8.   inherited;
  9. end;
  10.  


Und die TList die übrigbleibt ist ein fehlendes "FJoyStickList.Free" in Zeile 272 von der sdlinput.

_________________
2+2=5
For extremely large values of two


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 07, 2009 21:06 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das nenn ich doch mal Service. 8) Super Sache von dir wilson!

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 08, 2009 21:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 20, 2006 17:34
Beiträge: 52
Und noch ein kleiner Bug bei procedure TFBU_EffectManager.ResetCalcDelays;
FCount könnte 0 sein und dann gibts nen Integerüberlauf.

_________________
2+2=5
For extremely large values of two


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 10, 2009 15:34 
Offline
DGL Member
Benutzeravatar

Registriert: So Okt 26, 2003 20:07
Beiträge: 249
Wilson hat geschrieben:
Sry für den Doppelpost, aber sonst gehts wahrscheinlich unter:

Du scheinst beim beenden Objekte nicht freizugeben, wenn ich FastMM mit Report Memoryleaks in der Demo einbinde kommt das:
Zitat:
...


Das SDL-Zeug liegt daran dass im Destruktor von dem TMainForm das inherited fehlt.

FParticles vom Context wird nicht freigegeben, da fehlt iwo nach 1693 ein
Code:
  1. FreeObj(FParticles);


Und der Destruktor vom TFBU_EffectManager fehlt gleich ganz, ich würd sowas vorschlagen:
Code:
  1.  
  2. destructor TFBU_EffectManager.Destroy;
  3. var
  4.   i: Integer;
  5. begin
  6.   for i := low(FEffects) to High(FEffects) do
  7.     FEffects[i].Free;
  8.   inherited;
  9. end;
  10.  


Und die TList die übrigbleibt ist ein fehlendes "FJoyStickList.Free" in Zeile 272 von der sdlinput.


Ja das is wirklich Service ^^
Ist notiert.
Der Destruktor für den EffectManager fehlt in dieser Form nicht ohne Grund. Ich kann dir grade kein Szenario ausm FF nennen, aber der EffectManager ist ein Zusatztool, bei dem es auch möglich sein soll, es während der Laufzeit nicht mehr zu verwenden und trotzdem die instanzierten Emitter oder eigene TFBU_Effect Objekte zu behalten. Einen Basisdestruktor hat übrigens jede Klasse.

Den von dir beschriebenen Effekt kann man einfach durch folgenen Code erreichen:
Code:
  1.  
  2. // Removes and frees all effects in the next update cycle
  3. procedure RemoveAll;
  4.  
  5.  
  6. EffectManager.RemoveAll();
  7. EffectManager.Update(0);
  8. EffectManager.Free();
  9.  


Zu FCount:
Nein. Ist FCount = 0, dann läuft die for-Schleife nicht an und es gibt auch keine Division durch 0.

Um die Instanzen werde ich mich bei Zeiten mal kümmern

MFG

_________________
I'm not the signature, I'm just cleaning the floor...

Derzeitiges Projekt:
FireBlade Particle Engine (Release R2 2009.06.29)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 07, 2009 22:01 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hi Kyro,

ich hab mir gerade mal auf SF deine Projektseite angeguckt und war erstaunt wie wenig deine Engine genutzt wird. Eigentlich ist die ja ein richtiges Schmuckstück.

Vielleicht ist die Lizenz ein Problem. Musst du LGPL nehmen, oder kannst du auch eine andere Lizenz anbieten? Falls ja, dann probiere mal die EPL (ersetzt die CPL) oder die MPL. Oder falls du keinen Wert auf Ruhm und Ehre legst, eine BSD Lizenz.
Dann nutzen bestimmt auch mehr deine Lib.
Außerdem könntest du deine SF Homepage einfach mal aktualisieren und z.B. diesen Thread bei SF als "Support Thread" angeben. Und auch eine News zum DGL Award oder sowas bringen. Halt bisl Aktivität zeigen. Zumindest alle 4-6 Wochen einfach mal was schreiben, so dass Interessenten sehen, dass die Lib noch aktuell ist. Z.B. wenn jemand deine Lib einsetzt einfach mal ne Meldung draus machen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: FireBlade Partikelengine
BeitragVerfasst: Mo Jul 19, 2010 14:34 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Zu aller erst finde ich es gut, dass die Arbeit an Fireblade weiter gade. ;)

Für Architekturdiskussionen findest du hier im Forum sicher willige Diskussionspartner. Wichtig wäre, dass du deine Gedanken mal in eine Art Whitepaper bringst und dort zeigst wie man die Lib später mal nutzen können soll. Das würde bestimmt auch gut Einsteigern helfen abzuschätzen ob und wie schwer deine Lib in ihre Projekte zu integrieren ist.

Hast du Feedback ob und wo deine Lib schon im Einsatz ist. Die interessieren sich bestimmt im besonderen Maße für das Whitepaper.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: FireBlade Partikelengine
BeitragVerfasst: Mo Jul 19, 2010 17:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Make Current finde ich persönlich etwas nervig. Das geht zu sehr in richtung Statemachine. Ich finde ein Handle, dass man an jede Funktion übergeben muss, besser. Interfaces wären das Nonplusultra.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: FireBlade Partikelengine
BeitragVerfasst: Mi Jul 21, 2010 12:09 
Offline
DGL Member
Benutzeravatar

Registriert: So Okt 26, 2003 20:07
Beiträge: 249
D.h. nurnoch Interfaces und Plainfunktionen zum Erzeugen der Referenzen?

_________________
I'm not the signature, I'm just cleaning the floor...

Derzeitiges Projekt:
FireBlade Particle Engine (Release R2 2009.06.29)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: FireBlade Partikelengine
BeitragVerfasst: Mi Jul 21, 2010 17:39 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Das oder halt nur Plainfunktionen, die immer einen Parameter nehmen, der ein Handle auf das Objekt darstellt. Statemachine ist immer recht unübersichtlich, imo. Aber du musst wegen mir jetzt nicht deine Api umstoßen :D

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: FireBlade Partikelengine
BeitragVerfasst: Mi Jul 21, 2010 19:07 
Offline
DGL Member

Registriert: So Aug 20, 2006 23:19
Beiträge: 564
Ich steh jetz vllt etwas dumm da, aber kann mal einer kurz umreißen, was mit MakeCurrent und Plainfunctions gemeint ist? Hab sowas noch nie gehört (vllt kenn ich das aber auch nur unter anderem Name)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: FireBlade Partikelengine
BeitragVerfasst: So Jul 25, 2010 21:31 
Offline
DGL Member
Benutzeravatar

Registriert: So Okt 26, 2003 20:07
Beiträge: 249
MakeCurrent / Activate:
Code:
fbCreateContext(@FContext);
fbActivateContext(FContext); // bzw. auch MakeCurrent... und hier eig. unnötig aber zur Demonstration
fbAddTexture(FTexture, 2, 4);
fbSetPhysicsModel(FB_PHYSICSMODEL_REALISTIC);

fbCreateContext(@FContext2);
fbActivateContext(FContext2);
fbAddTeture(FTexture, 2, 4);
..


und mit Plain-Funktionen meine ich einfache Funktionen, d.h. keine OOP.

Frage: In Freepascal ist sowas hier kein Thema:
Code:
 IMeinInterface = interface
  function EineFunktion(): Integer;
  property Eine Eigenschaft: Integer;
 end;


könnte man dieses Interface auch z.B. in Java verwenden? wegen dem Property...

_________________
I'm not the signature, I'm just cleaning the floor...

Derzeitiges Projekt:
FireBlade Particle Engine (Release R2 2009.06.29)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: FireBlade Partikelengine
BeitragVerfasst: So Jul 25, 2010 22:14 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Properties als spezielles reserviertes Wort gibts in Java nicht. Felder werden da einfach als "Klassenvariablen" angelegt. In Interfaces gibts aber keine Variablen. In Interfaces gibts nur Methoden oder Konstanten in Java. Als Alternative gibt es Getter und Setter welche dann die Implementierenden Klassen mit Funktion füllen müssen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: FireBlade Partikelengine
BeitragVerfasst: So Jul 25, 2010 22:58 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Man kann pascal-interfaces so und so nicht direkt in Java verwenden. Da muss mindestens noch ne Portion "Glue-Code" in C++/pascal dazwischen. Wird also recht umständlich.

Tellerrand für Javaianer:
In Scala gibt's übrigens properties (Auch in interfaces. Heißen dort Traits). Ist für Interoperabilität aber alles andere als hilfreich in diesem Fall ;)

Tante Edith meint: In Pascal geht der Glue-Code freilich auch

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: FireBlade Partikelengine
BeitragVerfasst: Mo Jul 26, 2010 08:27 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@Kyro: Du könntest dich ja mal mit Lossy eX kurzschließen. Der hat die glBitmap ja auch so verpackt, dass andere sie nutzen können. Vielleicht hat er noch Ideen und Tips.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 197 Beiträge ]  Gehe zu Seite Vorherige  1 ... 10, 11, 12, 13, 14  Nächste
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]