Seite 1 von 1

Verständnisfrage zu InitNetwork() oder UsePNGDecoder() o.ä.

Verfasst: 14.12.2011 22:24
von uwe
Hi,

Purebasic bietet ja diverse Befehle zum Initialisieren von irgendwelchen Codebibliotheken/-bausteinen an (siehe Beispiele im Betreff). Ich frage mich, wieso man diese explizit aufrufen muss. Der Linker könnte doch beim ersten Vorkommen eines Befehls, welcher eine derartige Initialisierung voraussetzt, diese Aufruf automatisch einfügen, oder übersehe ich da was?

Uwe

Re: Verständnisfrage zu InitNetwork() oder UsePNGDecoder() o

Verfasst: 14.12.2011 22:49
von STARGÅTE
Nein.

Die Image-Plugins müssen vorher initialisiert werden, weil zu Kompilerzeiten noch nicht klar ist, ob mit LoadImage ein PNG-Bild geladen werden könnte.

Die Init-Funktionen müssen selber initiallisiert werden, damit auf den Rückgabe reagiert werden kann.

Zum Beispiel gibt mir InitJoystick() #False zurück, wenn es keinen Joystick gibt.

Würde InitJoystick() automatisch hinzugefügt werden, wenn man zum ersten mal JoystickButton() verwendet, könnte das im schlimmsten Fall zum Absturz führen.
Und eh man dann noch sachen wie IsJoystick() einführen würde, wurde dieser Initialisierungswert auf Init() gesetzt.