Strona 1 z 1

Zmienna dostepna w calym module

PostNapisane: Pt sty 22, 2016 10:38 pm
przez RoberttoDesperaddo
Jak ustawic zmienna w taki sposob zeby moze sie bylo do nie odwolywac w kazdym subie, bez koniecznosci jej kazdorazowego deklarowania?

Z roznych zrodel o tym czytalem i wszystkie sugeruja, zeby okreslac ja poza subami, czyli (jak ja to rozumiem, moze blednie) w ten sposob:

Kod: Zaznacz cały   Rozszerz widokZwiń widok
dim var1 as string

sub test1
var1 = "test"
end sub

sub test2
print var1
end sub


Niestety nic to nie daje.


Robienie tego zas tak:

Kod: Zaznacz cały   Rozszerz widokZwiń widok
dim var1 as string
var1 = "test"

sub test1
print var1
end sub


zwraca blad.

Jak to powinno poprawnie wygladac?

Re: Zmienna dostepna w calym module

PostNapisane: Pt sty 22, 2016 10:43 pm
przez Jan_J
Do deklarowania zmiennych globalnych użyj dyrektywy global. Patrz https://wiki.openoffice.org/wiki/Docume ... _Variables
Przypisanie wartości do zmiennej poza podprogramem jest nielegalne. Na poziomie modułu wolno umieszczać dyrektywy, deklaracje zmiennych, deklaracje funkcji oraz procedur.

Re: Zmienna dostepna w calym module

PostNapisane: Pt sty 22, 2016 11:16 pm
przez RoberttoDesperaddo
To co jest pod tym linkiem czytalem i po prostu w praktyce to nie dziala.

To:

Kod: Zaznacz cały   Rozszerz widokZwiń widok
global var1 as string

sub test1
var1 = "test"
end sub

sub test2
print var1
end sub


Nie daje nic.

Dawanie "dim" lub "public" zamiast "global" jest rownie bezowocne.

Re: Zmienna dostepna w calym module

PostNapisane: Pt sty 22, 2016 11:30 pm
przez Jan_J
Twój moduł z var1 u mnie działa: najpierw test1 nadaje wartość var1, a potem test2 z niej korzysta.
Sprawdzałem na LO 5.0 Portable pod Windows 7 Pro, ale wersja ani system nie powinny mieć znaczenia.