[gelöst] Private ist nicht private ???

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Private ist nicht private ???

Auflösung!!!

von poolshark » Di, 18.07.2006 10:29

Hallo zusammen,

die Lösung des Privatisierungsproblems findet sich unter

http://www.oooforum.org/forum/viewtopic.phtml?t=39717

groetjes

von poolshark » Fr, 14.07.2006 08:47

Hi Thomas,

danke Dir für die Antwort.

Das Problem tauchte am Arbeitsplatz (in der Tat unter Windows) auf...

Habe das dann allerdings am heimischen Rechner ( Linux Suse 10.1) unter Verwendung des Code-Beispiels nachgestellt...

Das Ergebnis ist leider dasselbe...

Viele Grüsse

Jürgen

von Toxitom » Fr, 14.07.2006 07:58

Hey poolshark,

Wohlgemerkt: Die Deklaration der Variablen 'testmyvar' in
Modul 1 darf doch eigentlich keine Geltung für Modul 2
besitzen, da 'Private' ...?!
Wo liegt mein Denkfehler?
Hmm, welches Betriebssystem verwendest du?
Leider scheint es hier Unterschiede zu geben und die Deklaration ist auch nicht überall so klar.
Eine Variable im Modul (z.B. mit Dim deklariert) außerhalb der Funktionen ist unter Windows Bibliothekenweit zu sehen (also über alle Module der Bibliothek hinweg) unter Linux jedoch nur Modulweit. Dort muss Sie dann mit "global" definiert werden, um sie Bibliothekenweit nutzen zu können.
"private" sollte nur für das einzelne Makro genutzt werden - da hast du recht. Denke aber mal, du arbeitest unter Windows - tia, und da klappt das offensichtlich auch nicht.

Also, kein Denkfehler, eher ein Bug.

Gruss
Thomas

[gelöst] Private ist nicht private ???

von poolshark » Do, 13.07.2006 15:42

Hallo zusammen,

2 Module und 1 Problem.


In Modul 1 steht:

Code: Alles auswählen


	Option Explicit

	Private testmyvar As String


	Sub Main

		testmyvar = "Ich wohne in Module1!"

		MsgBox testmyvar

	End Sub

In Modul 2 steht:

Code: Alles auswählen


	Option Explicit


	Sub Main

		testmyvar = "Ich wohne in Module2!"
		MsgBox testmyvar
		testanothervar = "Ich eigentlich auch!"
		MsgBox testanothervar

	End Sub

Bei Ausführung des 2. Moduls würde ich eine Fehlermeldung
erwarten, da ungeachtet 'Option Explicit' die Variable
'testmyvar' dort nicht deklariert wurde. Folgerichtig
reklamiert wird nur, wenn die Variable 'testanothervar'
gefüllt werden soll...

Wohlgemerkt: Die Deklaration der Variablen 'testmyvar' in
Modul 1 darf doch eigentlich keine Geltung für Modul 2
besitzen, da 'Private' ...?!

Wo liegt mein Denkfehler?

groetjes

poolshark[/u]

Nach oben