Seite 1 von 1

Globales Array

Verfasst: 20.08.2009 18:45
von Rossi64
Moin Leute,
ich komme mit einer an sich einfachen Sache nicht klar. Folgendes lässt sich nicht übersetzen:

Code: Alles auswählen

EnableExplicit
Dim test.s(3)

Procedure Hallo()
  Shared test
  test(0) = "bla"
EndProcedure

Purebasic hat Version 4.31
Die Meldung lautet "Bei EnableExplicit müssen Variablen deklariert werden: test"

Natürlich habe ich schon einige Variationen versucht, auch mit "Global", es hilft aber nichts. Ein entsprechendes Beispiel aus dem Handbuch lässt sich ebenso nicht übersetzen - sonderbar. Ohne Array geht's
Kennt jemand den Kniff?

Uli

Re: Globales Array

Verfasst: 20.08.2009 18:48
von Kiffi
PB-Hilfe hat geschrieben:

Code: Alles auswählen

 Global Dim Array(2)
  
  Procedure Change()
    Debug Array(0)  ; wird 10 sein, da das Array global ist
  EndProcedure
  
  Array(0) = 10
  Change()
Grüße ... Kiffi

Verfasst: 20.08.2009 19:17
von Rossi64
Danke, das funktioniert!

D.h. "Shared" kann nicht mit Arrays benutzt werden. Hier muss "Global" her.
Wozu gibt es dann überhaupt "Shared", wenn es nicht für alle Datentypen anwendbar ist?

Verfasst: 20.08.2009 19:19
von NicTheQuick
Bin mir jetzt nicht sicher, aber hätte man dann nicht "Shared test()" schreiben müssen.

Verfasst: 20.08.2009 19:24
von Kiffi
NicTheQuick hat geschrieben:Bin mir jetzt nicht sicher, aber hätte man dann nicht "Shared test()" schreiben müssen.
japp. Das hat RSBasic auch in dem nun gelöschten Posting vor meinem
geschrieben.

Grüße ... Kiffi

Verfasst: 20.08.2009 19:33
von Rossi64
In der Tat!
Mit Shared test() geht es auch.
Danke vielmals!