BASIC

Author Topic: windowsfehler bei GLOBAL Numfaces= X_NUMFACES(0)  (Read 3610 times)

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5014
  • O Rly?
    • View Profile
Hi wie in der Headline schon steht:

Code: GLBasic [Select]
        // Object + Textur
        X_LOADOBJ "cube.ddd", 0
        LOADSPRITE "pngbase.png", 0

        GLOBAL Numfaces= X_NUMFACES(0)

WHILE TRUE

        PRINT Numfaces,10,10



SHOWSCREEN
WEND
END
gibt mir einen Windoof-fehler , sprich die Exe hängt sich auf!

Testet ihr das bitte auch mal?!

Mache ich das Global weg gehts !
I <3 DGArray's :D

PC:
AMD RYzen 7 1700 @3.9Ghz, 16GB HyperX Fury 2666Mhz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10697
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
windowsfehler bei GLOBAL Numfaces= X_NUMFACES(0)
« Reply #1 on: 2007-Oct-23 »
Jo. Also. GLOBAL hat 2 Funktionen.
1. Neue Variable:
Das erste Mal, wenn der Compiler auf GLOBAL XXX oder GLBOAL XXX=YYY stößt, macht er eine globale Variable mit dem Namen XXX und weist ihr noch vor Programmbeginn den Wert 0 oder YYY zu.
In Deinem Fall "X_NUMFACES(0)", wobei die 3D Engine noch gar nicht geladen ist.

2. Globale Unterscheidung
Wenn es 2 Variablen gibt, die gleich heissen, kann man mit dem Keyword GLOBAL dafür sorgen, dass der Compiler die globale verwendet. In Deinem Beispiel müsste man dazu schreiben:
GLOBAL Numfaces // Macht eine globale mit Wert 0
GLOBAL Numfaces = X_NUMFACES(0) // weist an dieser Stelle den Wert zu

Da es keine andere Variable mit dem Namen Numfaces gibt, solltest Du's so machen:
GLOBAL Numfaces // Compiler, mecker nicht rum - ich weiß, dass es die gibt
Numfaces = X_NUMFACES(0) // nimmt immer die globale, weil's keine lokale gibt!!

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5014
  • O Rly?
    • View Profile
windowsfehler bei GLOBAL Numfaces= X_NUMFACES(0)
« Reply #2 on: 2007-Oct-23 »
ist aber nur in GLBasic so oder?
Bei anderen Sprachen konnte ich, meines wissens, immer direkt zuweisen ?!
I <3 DGArray's :D

PC:
AMD RYzen 7 1700 @3.9Ghz, 16GB HyperX Fury 2666Mhz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10697
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
windowsfehler bei GLOBAL Numfaces= X_NUMFACES(0)
« Reply #3 on: 2007-Oct-23 »
Ja. Ich hab das so gemacht, damit man globale variablen eben zuweisen kann vor Programmstart. Ich sollte es evtl. so ändern, dass er das nur macht, wenn die GLOBAL ausserhalb von FUNCTION steht. Viel bessere Idee!
Grunz, grunz!

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5014
  • O Rly?
    • View Profile
windowsfehler bei GLOBAL Numfaces= X_NUMFACES(0)
« Reply #4 on: 2007-Oct-23 »
Ok wie du es meinst ;)
I <3 DGArray's :D

PC:
AMD RYzen 7 1700 @3.9Ghz, 16GB HyperX Fury 2666Mhz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard