Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

shade1990

Frischling

  • »shade1990« ist der Autor dieses Themas

Beiträge: 31

Beruf: Junior Developer

  • Private Nachricht senden

1

25.10.2016, 14:51

GDIPlus

Hallo Spieleprogrammiererforum,
wie oft kann man GDIPlus initialisieren bzw. gibt es Probleme, wenn es mehrmals initialisiert wird?

C-/C++-Quelltext

1
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

Goldwing Studios

Treue Seele

Beiträge: 359

Wohnort: Heidelberg

Beruf: Softwareentwickler, Vertriebler

  • Private Nachricht senden

3

25.10.2016, 14:57

erste Gegenfrage, die mir einfällt, ist: Warum mehrmals initialisieren?

shade1990

Frischling

  • »shade1990« ist der Autor dieses Themas

Beiträge: 31

Beruf: Junior Developer

  • Private Nachricht senden

4

26.10.2016, 08:39

An Goldwing Studios:
Ich erstelle für ein Programm ein SplashScreen ( https://de.wikipedia.org/wiki/Splash_Screen ), dieser muss vor der Main starten und angezeigt werden. Dafür verwende ich GDI+. Später startet dann die Main selber GDI+, da sie auch nutzt. Wenn ich dort den SplashScreen starten würde, wäre der Großteil der Wartezeit vorbei. Mir geht es nur darum, ob jemand Erfahrung hat, wenn GDI+ mehrmals gestartet wird, welche Fehler/Probleme auftreten.

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

5

26.10.2016, 09:50

Gehe ich richtig der Annahme, dass du den Splashscreen von einer geladenen DLL innerhalb DllMain anzeigst? Davon würde ich sehr abraten. In der Doku steht auch, dass die Funktion nicht von DllMain aufgerufen werden darf. Das kann schnell zu Deadlocks führen, potentiell erst in späteren Windowsversionen. Außerdem kannst du nicht garantieren, dass deine DLL als erstes geladen wird.
Als Alternative würde ich vorschlagen, dass du eine eigene exe für den Splashscreen baust. Die exe zeigt den Splashscreen, startet die eigentliche exe und wartet dann, bis das Hauptfenster angezeigt wird und beendet sich dann.
Oder noch besser: Optimier deine Anwendung, sodass kein Splashscreen notwendig ist ;)
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

shade1990

Frischling

  • »shade1990« ist der Autor dieses Themas

Beiträge: 31

Beruf: Junior Developer

  • Private Nachricht senden

6

31.10.2016, 11:19

An Helmut:
1. Der Splash-Screen wird in der ersten CPP die alles initialisiert gestartet, aber später dann wenn alles in Ordnung ist, in der Main angezeigt.
-> Erste.CPP ( wichtige DLL laden) -> starte Splash-Screen -> Starte Main (andere DLL laden und anzeige Splash-Screen)
2. Anwendung Optimieren ist im Prinzip keine so schlecht Idee, aber die DB's auf den Server bzw. mehrerer Server sind verdammt lahm.
Bevor irgendein Benutzer aufgrund Ungeduld die Anwendung mehrmals starte und dabei sowohl die Verbindung zum Server immer neu aufgebaut wird, als auch die DB's neu gestartet/initialisiert werden, ist es besser einen Splash-Screen zu haben, der den Benutzer zeigt, dass die Anwendung gestartet wurde, bzw etwas macht. :thumbup:

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

31.10.2016, 13:28

Wozu musst du erst Daten von einem Server laden, bevor das Fenster zu deinem Spiel auf geht? Wäre es nicht vielleicht sinnvoller das Fenster zu öffnen, eine nette Animation zu rendern, die den Progress anzeigt und im Hintergrund die Daten erst dann zu laden?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

shade1990

Frischling

  • »shade1990« ist der Autor dieses Themas

Beiträge: 31

Beruf: Junior Developer

  • Private Nachricht senden

8

31.10.2016, 15:43

An BlueCobold:
Befehle, mein Freund, Befehle! :grumble: Die obere Gehaltsklasse will ein Bild mit GDI+ haben, also bekommen sie ein Bild.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

31.10.2016, 16:34

Gegen doofe Anforderungen kann man natürlich wenig tun. Aber das konnte ich ja schlecht wissen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige