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

Aktuelle Zeit: Do Mär 28, 2024 10:38

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



Ein neues Thema erstellen Auf das Thema antworten  [ 36 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: @Pascal SDL 2.0 Header
BeitragVerfasst: Mo Feb 04, 2013 11:10 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
Hier kommen die Meinungen rein...

Würde übrigens gerne wissen, ob ihr prinzipiell bereit wärt, SDL zu verweden, bzw. welche Vorteile die VCL ggü. SDL bietet...

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Zuletzt geändert von end am Mo Sep 16, 2013 18:08, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Feb 04, 2013 16:59 
Offline
DGL Member
Benutzeravatar

Registriert: So Sep 26, 2010 12:54
Beiträge: 238
Wohnort: wieder in Berlin
Programmiersprache: Englisch
Nur Bemerkungen, sind keinesfalls als Angriff zu verstehen... da haben sich ja manche Leute immer gleich :)

- Führende Unterstriche für Parameternamen sind ungünstig, meiner Meinung nach. A wäre da knuffiger - entsprechend den Borland "Regeln"
- UInt16 und co, sind in EVMath, wieso nicht EVPlatform?
- Feldnamen haben bei Dir manchmal kleine führende 'Effs' mal große, Große F's sind "richtiger" in dem Zusammenhang.
- inherited Destroy call "fehlt" in TEVEngine.Destroy;
- "const" fehlt hier und da
- "Logging" ist nicht conditional
- "irreführende" Methodennamen "SetJoystick" z.B. dabei de/initialisierst du nur das subsystem da. Du greifst auch auf die public properties zu innerhalb von methoden, anstatt auf das passende Feld, direkt
- in den Settern der Properties könnte man noch nen kleines if reinpflanzen, das geprüft wird ob der neue wert <> der alte wert ist


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Feb 04, 2013 19:40 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
Zitat:
da haben sich ja manche Leute immer gleich :)


Kenn ich ^^, gehöre aber nicht zu der Sorte...

Zitat:
- Führende Unterstriche für Parameternamen sind ungünstig, meiner Meinung nach. A wäre da knuffiger - entsprechend den Borland "Regeln"
- UInt16 und co, sind in EVMath, wieso nicht EVPlatform?
- Feldnamen haben bei Dir manchmal kleine führende 'Effs' mal große, Große F's sind "richtiger" in dem Zusammenhang.
- "const" fehlt hier und da


gut, einige kleine Designfehler, sind wohl aus etw. Zeitdruck enstanden (und dem Einsatz vom ModelMaker in einer uralten Version)

Zitat:
- "irreführende" Methodennamen "SetJoystick" z.B. dabei de/initialisierst du nur das subsystem da.


das mache ich, damit ich schreiben kann:
Code:
  1.  
  2. Joystick := true;


und automatisch wird auch das Subsystem initialisiert...

Zitat:
Du greifst auch auf die public properties zu innerhalb von methoden, anstatt auf das passende Feld, direkt


ich finde es manchmal etw. schöner so, macht schließlich Borland auch in ihrem code...

Zitat:
- inherited Destroy call "fehlt" in TEVEngine.Destroy;


Huch, wohl übersehen ;)

Brauch man das aber überhaupt? In TObject ist die Methode doch leer...

Zitat:
- in den Settern der Properties könnte man noch nen kleines if reinpflanzen, das geprüft wird ob der neue wert <> der alte wert ist


wusste gar nicht, dass das geht oO...

Danke für die Kritik, werde versuchen sie in der neuen Version zu berücksichtigen, schließlich sind das alles nur "Schönheitsfehler",
keine richtigen Bugs, die die Performance beeinflussen, o.Ä. (zm. wenn ich mich nicht irre...)

Ich habe das nur veröffentlicht, weil ich es als Alternative zum veralteten EasySDL sehe und es bereits in einem (sehr kleinen Sample) verwendet habe...

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Feb 04, 2013 22:21 
Offline
DGL Member

Registriert: Di Jun 12, 2012 21:26
Beiträge: 112
Programmiersprache: Delphi
end hat geschrieben:
Würde übrigens gerne wissen, ob ihr prinzipiell bereit wärt, SDL zu verweden, bzw. welche Vorteile die VCL ggü. SDL bietet...

Ich denke, dass letzendlich beides Vor- und Nachteile hat. SDL kümmert sich von Haus aus um vieles, um dass man sich beim Nutzen der VCL selbst kümmern muss. Einige Implementierungen fand ich in der VCL leichter als in SDL. Ein einfaches Beispiel ist, zu überprüfen, ob die Anwendung den Fokus hat oder nicht. Das ist in SDL wesentlich komplizierter Umzusetzen, als in der VCL. Nervig finde ich auch das amerikanische Tastaturlayout. Ein Vorteil von SDL bietet z.B. aber auch der direkte Joystick-Support. Wobei ich das Gefühl habe, dass es hier sehr wenige Joystick/Gamepad-Nutzer gibt. Ein Nachteil der VCL ist, dass das OnIdle-Event unregelmäßig aufgerufen wird. Ein Vorteil ist, dass man Komponenten, z.B. ein Mainmenu nutzen kann.

Ich ziehe SDL der VCL vor.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Feb 05, 2013 14:22 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
Zitat:
Nervig finde ich auch das amerikanische Tastaturlayout

??

Also ich habe keines...

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Feb 05, 2013 16:32 
Offline
DGL Member

Registriert: Di Jun 12, 2012 21:26
Beiträge: 112
Programmiersprache: Delphi
Dann ist das wohl nur bei mir so ;-)

Code:
  1. case keysym.sym of
  2.    SDLK_Z: MessageBox(0,Pchar('Um diesen Text zu lesen, muss ich Y statt Z drücken'),Pchar(''),0);
  3.   end;


Wobei ich natürlich keine Ahnung habe, wie SDL das intern regelt. Bei DirectInput gibts dieses Problem soweit ich weiss auch, ganz sicher bin ich mir jedoch nicht. Es wird ja auch abgeraten, den Status der Tasten über DirectInput abzufragen.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Feb 05, 2013 17:17 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
SDL_EnableUNICODE anyone?

_________________
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  
BeitragVerfasst: Di Feb 05, 2013 17:32 
Offline
DGL Member

Registriert: Di Jun 12, 2012 21:26
Beiträge: 112
Programmiersprache: Delphi
Lord Horazont hat geschrieben:
SDL_EnableUNICODE anyone?

Code:
  1. SDL_EnableUNICODE(1);

:( Immer noch das gleiche Problem. Funktioniert das bei Euch? Finde es sehr interessant, dass das anscheinend nur bei mir so ist. Kenne ein paar SDL-Spiele, bei denen das gleiche Problem besteht. Wenn das jetzt zu Off-Topic wird: Ich suche nicht unbedingt nach einer Lösung, bin aber trotzdem für Tipps dankbar.

Viele Grüße


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Feb 05, 2013 17:43 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Dann musst du aber auch auf das andere feld prüfen… Vergesse immer den Namen. Im KeyEvent-Struct gibts jedenfalsl noch ein Feld, wo der unicode-Character drinne steht. Das sollte man für alles nehmen, was man an Characters binden will. F1 und ähnliche sollte man weiterhin über .sym machen.

grüße

_________________
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  
BeitragVerfasst: Di Feb 05, 2013 18:36 
Offline
DGL Member

Registriert: Di Jun 12, 2012 21:26
Beiträge: 112
Programmiersprache: Delphi
@ Lord Horazont: Super, vielen Dank :D
Code:
  1. case keysym.unicode of
  2.        SDLK_Z: MessageBox(0,Pchar('Jetzt klappt''s mit Drücken von Z'),Pchar(''),0);
  3. end; 

Das ist klasse. Muss man aber auch erstmal wissen.

Viele Grüße


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Jul 09, 2013 17:50 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
Hier könnt ihr auch erstmal gefundene Bugs posten.

Vllt. kennt ja jemand eine gute Möglichkeit einen Bugtracker einzurichten?

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jul 10, 2013 08:24 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Wenn du sowieso git nutzt, kannst du Github nutzen, da gibts auch Issue Tracker.

Ich würde DLLs und so aber keinesfalls in das Git repository legen. Das sind Binäre Blobs die dem Git nicht gut tun und es unnötig fett machen. Sowas sollte man separat halten (insbesondere, wenn es aus dem Repository-Inhalt erzeugt werden kann; wenn das nicht der Fall ist, kann sowas auch eine Lizenzfrage sein).

grüße

_________________
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  
BeitragVerfasst: Mi Jul 10, 2013 11:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Nov 30, 2011 21:41
Beiträge: 136
Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Hey,

hab mal den header und das sample runtergeladen und veruscht das sample zu kompilieren. Bei mir kommt gleich zu Beginn eine Exception: "Die Anwedung konnte nicht richtig initalisiert werden (0xc0150002)"
Ich hab danach die unit nochmal in sdlx um genannt um sicherzugehen, dass nicht der alte Header benutzt wird, aber immernoch der selbe Fehler.

(Delphi 7, WinXP mit SDL2_x86.dll)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jul 10, 2013 11:48 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
@LordHorazont: Danke für den Hinweis.

@Knittel:

Kommt die Exception in dem Log-Fenster, oder als Windows-Fehlermeldung?

Versuch doch mal per Einzelschritt herauszufinden wann sie kommt.

[EDIT] Offensichtlich ist irgendwas mit der DLL faul... bei meinem WinXP bekomme ich denselben Fehler, auf Win7 64 Bit jedoch keinen Fehler, unabhängig davon, ob ich es 32/64Bit kompiliere.
[/EDIT]

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jul 10, 2013 13:05 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
Es lag an den DLL's, Grund siehe meinen Post in der Projekteecke. Danke für den Hinweis:

https://dl.dropboxusercontent.com/u/512 ... L2_x86.dll

ist die aktualisierte DLL. Damit sollte es funktionieren ;)

(keine Gewähr!)

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 36 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 21 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.176s | 18 Queries | GZIP : On ]