[gelöst] Datenübergabe zwischen SUBs

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] Datenübergabe zwischen SUBs

Re: Datenübergabe zwischen SUBs

von der_Zerstreute » Mo, 06.02.2012 17:36

Hallo Stephan ,

Ok hast recht , es bleibt ein Global ;). Ich muß eingestehen das nicht ausprobiert zu haben. :( [Schande über mein Haupt :D]..
Ich ging davon aus das nach einem ReDim die Variable kein Global mehr ist .. Weit her geholt , jetz wo ich drüber nachdenke :D..

Danke aber für den Hinweis :D.
Gruß
Daniel

Re: Datenübergabe zwischen SUBs

von Stephan » Mo, 06.02.2012 17:20

oh coool .. "Preserve" war mir so nicht geläufig !
Ich bin jetzt zu faul das auszuprobieren, aber willst Du mir damit sagen das ein einfaches Redim nicht geht?

Ja, die FRage ist ernstgemeint, denn Preserve bewirkt ja nur den ERhalt vorhandener Werte und wurde hier von mir ohne besondere Absicht verwendet, wäre also eigentlich überflüssig wenn es nur formal darum ginge dEine Anforderung zu erfüllen, die hieß:
brauche ich flexible Arrays und das geht leider nicht mit Globals

Gruß
Stephan

Re: Datenübergabe zwischen SUBs

von der_Zerstreute » Mo, 06.02.2012 16:48

oh coool .. "Preserve" war mir so nicht geläufig ! muß ich übersehen haben :D..

Danke , damit sollte das funktionieren :D

Re: Datenübergabe zwischen SUBs

von Stephan » So, 05.02.2012 22:21

und das geht leider nicht mit Globals
Und wie kommst Du zu dieser Aussage?

Ich kann hier Global definierte Arrays jedenfalls wunderbar mit Redim anpassen:

Code: Alles auswählen

Global xyz()

Sub testen()
  Redim Preserve xyz(3)
  Msgbox UBOUND(xyz())
  Redim Preserve xyz(5)
  Msgbox UBOUND(xyz())
End Sub
Du nicht? UNd falls ja warum nicht? WElche Nebenbedingungen?


Gruß
Stephan

Re: Datenübergabe zwischen SUBs

von der_Zerstreute » So, 05.02.2012 22:11

Hallo Ihr zwei ,

ein weiterer Punkt , warum es bei mir ungeschickt wäre es in ein Global Array zu packen , das Array wird innerhalb der Hauptprozedur in Abhängigkeit vom Inhalt einer Datei dimensioniert. Da sich der Inhalt der Datei aber ändern kann ,brauche ich flexible Arrays und das geht leider nicht mit Globals :(.

Gruß Daniel

Re: Datenübergabe zwischen SUBs

von komma4 » So, 05.02.2012 18:33

Frieder D. hat geschrieben:Aber was spricht eigentlich gegen Globale Variablen?
Dagegen spricht, dass sie eben globale Gültigkeit haben - für die gesamte Dauer der OOo-Sitzung!

Ich lasse meinen Rechner und OOo meist (mehrere Wochen) durchlaufen... durch globale Variablen wird der während des Makrolaufs belegte Speicherplatz aber nicht mehr freigegeben.


Deshalb meist besser PUBLIC Variablen zu verwenden. Mehr in der F1 Hilfe.

Re: Datenübergabe zwischen SUBs

von Frieder D. » So, 05.02.2012 17:37

Hallo der_Zerstreute

Es kommt darauf an, ob diese Daten auch im Dialog angezeigt werden.
Wenn das so ist, kannst du sie natürlich mit dem zweiten Sub aus dem Dialog auslesen.

Aber was spricht eigentlich gegen Globale Variablen?

Gruß Frieder

P.S. wir könnten dir hier viel besser helfen, wenn du deinen Code hier posten würdest,
oder noch besser das gesamte Dokument mit Dialogen und Makros anhängen.

[gelöst] Datenübergabe zwischen SUBs

von der_Zerstreute » So, 05.02.2012 14:28

Hallo Leute ,

Ich bin hier noch auf ein weiteres Problem gestoßén.
Ich öffne in meinem Makro ein Dialogfenster in dem ich einen Datensatz auswählen kann.
In diesem Fenster sind Buttons die ein weiteres Dialogfenster öffnen. Leider brauche ich in diesem zweiten Dialogfenster Daten aus der Main-Routine , diese stehen nicht zur verfügung da sie in einer Variable abgelegt sind die im Programm dimensioniert wird (Datenabhänig).

Wie bekomme ich dieses Array in mein zweites Dialogfenster ohne sie als Global definieren zu müssen ? Geht das überhaupt ?

Danke für Eure Hinweise ..

Nach oben