Lua local/ global?

!!! Please ensure, that your contribution or question is placed into the relevant section !!!
Questions about rolling stock, for example, do not belong in "Questions about the Forum". Following is perhaps the right area where your question will be better looked after:
General questions to EEP , Splines, rolling stock, Structures in EEP, landscape elements, Signalling system and controlling, designers, Europe-wide EEP meetings , Gossip
Your cooperation to keep the forum clear is appreciated.
In the case of pictures that are attached to the article, the source must also be stated. This also applies to your own pictures, which were taken by you. Pictures without source information will be deleted!
  • Hallo EPPler,


    ich hätte da 1,2,3,... Fragen dazu.

    Ich benutze Skript-Module, welche ich entsprechend der Anlage einbinde.

    Dabei habe ich Skripte welche für alle Anlagen ohne Einträge funktionieren.

    Dann habe ich Skripte, welche man pro Anlage ausfüllen muß.

    Nun zu meinen Fragen.


    1. Deklariere ich jetzt im Skript-Modul am Anfang eine Variable/ Tabelle als local ein, werden dann die Funktionen auch local? D.h. sie sind nur in diesem Modul "sichtbar"?

    Bsp.:



    2. Ich habe festgestellt, dass meine Funktionsaufrufe über Kontaktpunkt dann (logischerweise) global sind, oder sind alle Kontaktpunktaufrufe global?


    3. Die Frage fällt mir gerade nicht ein......:as_1:

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.0 Patch1

    Zusatzprogramme: ResourcenSwitcher2, EEP-Gleisplan (Frank Buchholz)

  • Hallo Tufftuff ,


    das local bezieht sich nur auf die Variable/Funktion, bei der es angegeben ist.


    In Deinem Beispiel auf die Variable/Tabelle "Abkuppeln".

    Funktionen und andere nicht lokal deklariert Variablen im Modul bleiben global.


    Man könnte aber auch eine Funktion lokal deklarieren

    Code
    1. local function abc()
    2. ...
    3. end


    Die Funktion ist dann nur in dem Block bekannt, in dem sie deklariert wurde.


    Code
    1. if 1 == 1 then
    2. local function abc()
    3. print(1)
    4. end
    5. end
    6. abc()

    Ergibt einen Fehler, da abc() unbekannt ist.


    Code
    1. if 1 == 1 then
    2. local function abc()
    3. print(1)
    4. end
    5. abc()
    6. end

    Ergibt keinen Fehler, da der Aufruf der Funktion abc() im gleichen Block/Modul erfolgte, wie die Deklaration.

    Jürgen


    EEP: 12.1, 13.2, 14.1, 15.1, 16.4 (z.Zt. installiert, bezahlt, aber nur für Tests im Einsatz)

    keinerlei Zusatztools und manuell manipulierte Anlagendateien


    Prozessor: Intel(R) Core(TM) i5-4460S CPU @ 2.90 GHz 2.90 GHz
    PC: RAM 12 GB, Windows 10 Home, 64 Bit
    GK: NVIDIA Geforce GT 730, 4 GB

    The post was edited 2 times, last by JuergenSchm ().

  • Hallo Jürgen ( JuergenSchm ),


    aber dann ist doch meine Funktion "local", da meine "Tabelle" (Variable) local ist?

    Denn außerhalb vom Skript wird bemängelt, dass eine globale Variable fehlt! :aw_1:

    Manchmal reicht doch ein "Ja" oder "Nein" auf eine Frage, sonst werde ich noch... :ao_1:

    Wie gesagt, ich habe keine Ahnung von Lua, deshalb frage ich lieber nochmals nach, bevor ich mir zu viel Arbeit mache. Ich baue mir gerade meine Skripte um, damit ich nur das "global" habe, was ich wirklich "global" brauche, deshalb auch die 2 Fragen, die 3. fällt mir immer noch nicht ein.

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.0 Patch1

    Zusatzprogramme: ResourcenSwitcher2, EEP-Gleisplan (Frank Buchholz)

  • Hallo Tufftuff ,


    wie Du möchtest:

    nein, ja (betrifft Deinen ersten Beitrag)

    nein (für Deinen 2.)


    Und falls Dir die 3. Frage noch einfällt:

    vielleicht

    Jürgen


    EEP: 12.1, 13.2, 14.1, 15.1, 16.4 (z.Zt. installiert, bezahlt, aber nur für Tests im Einsatz)

    keinerlei Zusatztools und manuell manipulierte Anlagendateien


    Prozessor: Intel(R) Core(TM) i5-4460S CPU @ 2.90 GHz 2.90 GHz
    PC: RAM 12 GB, Windows 10 Home, 64 Bit
    GK: NVIDIA Geforce GT 730, 4 GB

  • aber dann ist doch meine Funktion "local", da meine "Tabelle" (Variable) local ist?

    Denn außerhalb vom Skript wird bemängelt, dass eine globale Variable fehlt!

    Hallo Jörg :)


    dann machst Du etwas falsch. Welcher Bezeichner wird denn bemängelt? Ist das denn ein Funktionsname?

    Deklariere ich jetzt im Skript-Modul am Anfang eine Variable/ Tabelle als local ein, werden dann die Funktionen auch local? D.h. sie sind nur in diesem Modul "sichtbar"?

    Ich kann JuergenSchm nur bestätigen. Nur die Objekte, die Du explizit als lokal definierst, sind auch lokal. Ich nutze das in meinen Modulen, um interne und exportierte Funktionen zu deklarieren. Beispiel:

    Das ist mein FS-Modul. Die als lokal definierten Funktionen nutze ich nur intern. Du darfst in Deinen Modulen natürlich keine Funktionen als lokal definieren, die Du von außerhalb aufrufst.

    ich habe keine Ahnung von Lua

    Grins, der war gut :af_1:

    Ich baue mir gerade meine Skripte um, damit ich nur das "global" habe, was ich wirklich "global" brauche

    Genau so ist es richtig :be_1:


    Gruß Ingo

    Threema - Sicherer und privater Messenger

    Meine Threema-ID

    Warum Threema?


    Win 10x64 Professional, Gigabyte B360M AORUS, Intel Core i7-8700K, 32GB RAM, NVIDIA GeForce GTX 1050 Ti 4GB, Philips 273V7QDAB Full HD

    Windows Firewall und Defender
    EEP 15.1 Expert Patch 2, Plugins: 1

    EEP 16.4 Expert, Plugins: 1,2,3,4

    EEP 17.0 Expert Patch 1


  • dann machst Du etwas falsch. Welcher Bezeichner wird denn bemängelt? Ist das denn ein Funktionsname?

    Es fehlt die globale Variable.


    Hier mal kurz ein Skript, welches so nicht gibt, weil ich es anders mache.

    Rufe ich jetzt über die EEPMain folgende Funktion auf --> Tueren_Auf_Zu.Auf_ausfuehren(2) <--, dann bekomme ich folgende Fehlermeldung:


    Dann sieht man, das ich meine Variablen/Tabelle local halte, denn innerhalb funktioniert es. Deshalb ist es mir egal, ob die Funktion vielleicht global ist, aber meine Variablen local.


    Zu meiner 2. Frage: Bis jetzt konnte ich sie nicht über den Kontaktpunkt local aufrufen (die Funktion), bin aber noch am Testen.

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.0 Patch1

    Zusatzprogramme: ResourcenSwitcher2, EEP-Gleisplan (Frank Buchholz)

  • Rufe ich jetzt über die EEPMain folgende Funktion auf --> Tueren_Auf_Zu.Auf_ausfuehren(2) <--, dann bekomme ich folgende Fehlermeldung:

    Hallo Jörg :)


    ich kann mir schon denken, warum. Allerdings muss ich zugeben, dass ich Dein Skript nicht wirklich ganz verstehe. In Zeile 3 definierst Du eine Tabelle Tueren_Auf_Zu als lokal. Die Funktion Tueren_Auf_Zu.Auf_ausfuehren() ist offenbar ein Element dieser Tabelle. Wenn ich das so richtig verstehe, kann das natürlich nicht funktionieren. Ist das so Absicht? Definiere mal testweise die Tabelle als global, d.h. nimm in Zeile 3 das local raus. Dann sollte das funktionieren. Stimmt das?

    Bis jetzt konnte ich sie nicht über den Kontaktpunkt local aufrufen (die Funktion)

    Was meinst Du damit genau? Darunter kann ich mir jetzt nichts vorstellen.


    Gruß Ingo

    Threema - Sicherer und privater Messenger

    Meine Threema-ID

    Warum Threema?


    Win 10x64 Professional, Gigabyte B360M AORUS, Intel Core i7-8700K, 32GB RAM, NVIDIA GeForce GTX 1050 Ti 4GB, Philips 273V7QDAB Full HD

    Windows Firewall und Defender
    EEP 15.1 Expert Patch 2, Plugins: 1

    EEP 16.4 Expert, Plugins: 1,2,3,4

    EEP 17.0 Expert Patch 1


  • Hallo Ingo,


    dass ich Dein Skript nicht wirklich ganz verstehe.

    Ich definiere eine locale Tabelle "Tueren_Auf_Zu".

    Darunter können nochmals "Untertabellen " folgen.

    Nehme ich jetzt eine Funktion, welche die Variable "Tueren_Auf_Zu"(lokale Tabelle) + Punkt und noch eine Variable ("Auf_ausfuehren"), dann ist der Funktionsaufruf für mich local, denn ich kann den Funktionsaufruf nicht aus einem anderen Skript-Modul aufrufen, siehe Fehlermeldung im Ereignisfenster. Und das ist auch gut so.

    Aber Jürgen hat geschrieben:

    nein, ja (betrifft Deinen ersten Beitrag)

    Deshalb der Test von mir und ich bin beim "Nein" geblieben.

    Wenn ich das so richtig verstehe, kann das natürlich nicht funktionieren. Ist das so Absicht?

    Ja, das ist Absicht, denn ich wollte local, global wäre nicht gut, dort wollte ich globale Variablen/ Tabellen benutzen, z.B.: Tufftuff.Tueren_Auf_Zu.Abfrage() (sieht man hier noch nicht). Tufftuff = {} wird meine globale Tabelle. Dann gibt es pro Skript eine Untertabelle,....... Also alle Funktionsaufrufe und Variablen/ Tabellen welche über mehrere Skripte verteilt sind.


    #Darum würde ich mich freuen, wenn Benny ( Benny (BH2) ) und/ oder "Besser" was dazu beitragen könnten. Ich könnte auch ein Handbuch lesen, welches in der falschen Sprache für mich existiert, dann würde ich aber noch mehr Fragen haben...:ao_1:


    Was meinst Du damit genau? Darunter kann ich mir jetzt nichts vorstellen.

    Ich schreibe eine Funktion, sagen wir mal:

    LUA Source Code
    1. local function Hallo_Kp()
    2. print("Ich bin Hallo_Kp")
    3. end


    So steht die Funktion im Kp.



    Und so sieht es im Skript-Editor und Ereignisfenster aus, wenn ich über den Kp fahre.


    Wo ist jetzt mein Denkfehler?


    nein (für Deinen 2.)

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.0 Patch1

    Zusatzprogramme: ResourcenSwitcher2, EEP-Gleisplan (Frank Buchholz)

  • Hallo Jörg ( Tufftuff ),

    ich wollte mich eigentlich aus diesem Thema raus halten, da Du mich aber zitiert hast, habe ich ein rotes Pünktchen angezeigt bekommen...


    Darum ich doch nochmal ...


    1. Eine als lokal deklarierte Funktion kann nicht in einem Kontaktpunkt aufgerufen werden.

    (kann schon, bringt aber einen Fehler)


    2. Eine lokal deklarierte Variable macht aus keiner globalen Funktion automatisch eine lokale Funktion.

    Was einen eventuellen globalen Aufruf einer Funktion aus der Variablen verhindert, bleibt die lokale Variable.

    (Ich würde Dir ein Beispiel zeigen aber das möchtest Du ja nicht.)

    Ohne dass ich mich zur Notwendigkeit solcher Konstruktionen äußern möchte.


    3. Und was den Index-Fehler der Tabelle "Tueren_Auf_Zu" Beitrag #6 betrifft.

    Ich würde mal überprüfen was in Tueren_Auf_Zu.Tab[] steht bzw. was "gesehen" werden kann.

    In dem konkreten Fall für Gleis 2.

    Jürgen


    EEP: 12.1, 13.2, 14.1, 15.1, 16.4 (z.Zt. installiert, bezahlt, aber nur für Tests im Einsatz)

    keinerlei Zusatztools und manuell manipulierte Anlagendateien


    Prozessor: Intel(R) Core(TM) i5-4460S CPU @ 2.90 GHz 2.90 GHz
    PC: RAM 12 GB, Windows 10 Home, 64 Bit
    GK: NVIDIA Geforce GT 730, 4 GB

    The post was edited 3 times, last by JuergenSchm ().

  • Hallo Jürgen,


    1. Eine als lokal deklarierte Funktion kann nicht in einem Kontaktpunkt aufgerufen werden.

    (kann schon, bringt aber einen Fehler)

    2. Ich habe festgestellt, dass meine Funktionsaufrufe über Kontaktpunkt dann (logischerweise) global sind, oder sind alle Kontaktpunktaufrufe global?


    Ist ja eigentlich 2., aber Du hattest diese Frage so beantwortet:

    nein (für Deinen 2.)

    Du widersprichst Dich...

    Und deshalb meine Bitte..... Gibt es auch User, welche was von Lua verstehen?

    Jürgen, das ist nicht böse gemeint.:ba_1::bg_1:

    Ich will doch nur wissen, was richtig ist? Widersprüchliche Aussagen helfen mir nicht weiter. Was sagt meine bessere Hälfte (Gabi), einmal mit Profis arbeiten.:ad_1: :bn_1:


    2. Eine lokal deklarierte Variable macht aus keiner globalen Funktion automatisch eine lokale Funktion.

    keiner

    Ich hoffe auf einen Tippfehler von Dir und Du meintest einer.

    Das habe ich doch gesagt.:ay_1:


    3. Und was den Index-Fehler der Tabelle "Tueren_Auf_Zu" Beitrag #6 betrifft.

    Ich würde mal überprüfen was in Tueren_Auf_Zu.Tab[] steht.

    In dem konkreten Fall für Gleis 2.

    Nein, das brauche ich nicht überprüfen, denn es fehlt die globale Variable "Tueren_Auf_Zu".:bn_1:

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.0 Patch1

    Zusatzprogramme: ResourcenSwitcher2, EEP-Gleisplan (Frank Buchholz)

  • Tufftuff ,

    ok Du hast Recht und ich meine ...


    Und jetzt hatte ichs doch vergessen

    nein, nein, nein

    Jürgen


    EEP: 12.1, 13.2, 14.1, 15.1, 16.4 (z.Zt. installiert, bezahlt, aber nur für Tests im Einsatz)

    keinerlei Zusatztools und manuell manipulierte Anlagendateien


    Prozessor: Intel(R) Core(TM) i5-4460S CPU @ 2.90 GHz 2.90 GHz
    PC: RAM 12 GB, Windows 10 Home, 64 Bit
    GK: NVIDIA Geforce GT 730, 4 GB

    The post was edited 1 time, last by JuergenSchm ().

  • ok Du hast Recht und ich meine ...

    Nein, ich habe nicht Recht! :ay_1: Du kannst natürlich deine Ruhe genießen...:ae_1:

    Nur mit widersprüchlichen Aussagen kann ich nichts anfangen :ay_1:

    Es wird ja irgendwo im Weltall eine klare Antwort zu meinen Fragen geben?:ae_1:

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.0 Patch1

    Zusatzprogramme: ResourcenSwitcher2, EEP-Gleisplan (Frank Buchholz)

  • Tufftuff

    ach, bei Dir geht der Spruch mit Ruhe weiter.

    Das hätte ich ja noch schreiben können.


    Bei mir ist der Spruch länger und das wollte ich nicht schreiben :aa_1:

    Jürgen


    EEP: 12.1, 13.2, 14.1, 15.1, 16.4 (z.Zt. installiert, bezahlt, aber nur für Tests im Einsatz)

    keinerlei Zusatztools und manuell manipulierte Anlagendateien


    Prozessor: Intel(R) Core(TM) i5-4460S CPU @ 2.90 GHz 2.90 GHz
    PC: RAM 12 GB, Windows 10 Home, 64 Bit
    GK: NVIDIA Geforce GT 730, 4 GB

  • Hallo Jürgen,


    das musst Du selber wissen. Ich sehe nur das Positive im Menschen, bin aber nicht dem Glauben süchtig oder so.... :ay_1:

    Nur bei widersprüchlichen Aussagen sagt mein Gehirn "Hier stimmt was nicht". Wer jetzt Schuld oder Recht hat, sollte die "Ampel" entscheiden.:bo_1:

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.0 Patch1

    Zusatzprogramme: ResourcenSwitcher2, EEP-Gleisplan (Frank Buchholz)

  • Eine als lokal deklarierte Funktion kann nicht in einem Kontaktpunkt aufgerufen werden.

    Hallo :)


    das ist vielleicht etwas missverständlich. Genau gesagt müsste das heißen "Eine in einem anderen Modul als lokal deklarierte Funktion kann nicht in einem Kontaktpunkt aufgerufen werden.".

    Gibt es auch User, welche was von Lua verstehen?

    Ja, z.B. JuergenSchm  :ae_1:

    Ich will doch nur wissen, was richtig ist?

    Da Deine Funktion Teil einer lokalen Tabelle ist, ist sie implizit ebenfalls lokal und deshalb logischerweise im "Hauptmodul" nicht sichtbar. Nicht mehr und nicht weniger.


    Gruß Ingo

    Threema - Sicherer und privater Messenger

    Meine Threema-ID

    Warum Threema?


    Win 10x64 Professional, Gigabyte B360M AORUS, Intel Core i7-8700K, 32GB RAM, NVIDIA GeForce GTX 1050 Ti 4GB, Philips 273V7QDAB Full HD

    Windows Firewall und Defender
    EEP 15.1 Expert Patch 2, Plugins: 1

    EEP 16.4 Expert, Plugins: 1,2,3,4

    EEP 17.0 Expert Patch 1


  • In Kontaktpunkten kannst du nur globale Funktionen aufrufen (bzw. mit BetterContacts nur auf Dinge zugreifen, die global definiert sind). Lokal definierte Funktionen können aus Kontaktpunkten nicht aufgerufen werden, egal in welchem Modul/Block die Funktion definiert wurde (weil Kontaktpunkte immer in einem separaten Modul/Block laufen).


    Wenn du eine "Funktion mit Punkt" anlegst, ist diese weder global noch lokal, sondern Teil der vor dem Punkt genannten Tabelle. Wenn du auf diese Tabelle zugreifen kannst (weil sie global definiert ist), kannst du auch auf die Funktion zugreifen. Wenn die Tabelle lokal ist, kommst du auch an die Funktion nicht dran.


    Ich hoffe, das schafft mehr Klärung als neue Unklarheiten.


    Viele Grüße

    Benny

  • Hallo Ingo,


    nimm es mir bitte nicht übel, aber Du erzählst Mist.

    Genau so wie ich es geschrieben habe,.

    Da Deine Funktion Teil einer lokalen Tabelle ist, ist sie implizit ebenfalls lokal und deshalb logischerweise im "Hauptmodul" nicht sichtbar.

    Ingo, schaust Du Dir auch Bilder an? Da ist nix extern!

    Ja, z.B. JuergenSchm

    Sorry, ich habe nix gegen Jürgen, eher das Gegenteil. Aber hier versagen Ingo und Jürgen. Warum testet Ihr es nicht.

    Da Deine Funktion Teil einer lokalen Tabelle ist, ist sie implizit ebenfalls lokal und deshalb logischerweise im "Hauptmodul" nicht sichtbar. Nicht mehr und nicht weniger.

    Hallo Ingo, jetzt enttäuscht Du mich, aber! Welche Funktion sitzt im "Hauptskript?"

    Einfacher wäre, ich nehme mir einen Strick. Wer hat einen Strick?

    Lest ihr überhaupt mal alle Antworten durch?

    Oder ich springe aus dem Fenster, dann brauche ich auch keinen Strick mehr.


    Keine Angst, würde ich nie machen, habe ja noch ne Süße und zwei Vögel zu Hause.

    Ich wollte nur zum Ausdruck bringen...ich habe keine Ahnung von Lua, aber für blöd braucht Ihr mich auch nicht abstempeln, habe 10 Jahre aktiv Schach gespielt. Mathematikolympiade Klassenstufe 10 notgedrungen war ich dort in der Schule der Beste (Pech gehabt). Nur von Programmierung habe ich Null Ahnung, aber 1+1 kann ich gerade so, auch mit 5,5 Promille.


    Hiermit wollte ich nur zum Ausdruck bringen, auf welche Aussage von mir bezieht Ihr Euch? Das kann doch nicht so schwer sein?


    Meine Aussagen sind Folgende:


    1.: Lokale Funktionen nimmt der Kp nicht an, bzw. führen zu einer Fehlermeldung, beim Überfahren!

    2.: Lokale Variablen als Funktionsaufruf werden in anderen Skripten zu Fehlermeldungen führen (globale Variable fehlt).

    3.: Ich bin immer noch nicht schlauer.

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.0 Patch1

    Zusatzprogramme: ResourcenSwitcher2, EEP-Gleisplan (Frank Buchholz)

  • Hallo Benny ( Benny (BH2) ),


    vielen Dank für deine Antwort, dann kann ich ja den nicht vorhandenen Strick, zur Seite legen.:ae_1::bg_1:

    Deine Aussage hat mir sehr, sehr, viel geholfen. So war auch meine Denkweise, nur mit lua habe ich es nicht ganz so.:ae_1:

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP17.0 Patch1

    Zusatzprogramme: ResourcenSwitcher2, EEP-Gleisplan (Frank Buchholz)

  • nimm es mir bitte nicht übel, aber Du erzählst Mist.

    Hallo Jörg :)


    nein. Ich "erzähle" genau dasselbe wie Benny (BH2) .

    Welche Funktion sitzt im "Hauptskript?"

    Eben nicht. Die Funktion, die Du versuchst, im KP aufzurufen, befindet sich in einem (anderen) Modul und ist dort implizit lokal. Mit anderen Worten...

    Wenn du eine "Funktion mit Punkt" anlegst, ist diese weder global noch lokal, sondern Teil der vor dem Punkt genannten Tabelle. Wenn du auf diese Tabelle zugreifen kannst (weil sie global definiert ist), kannst du auch auf die Funktion zugreifen. Wenn die Tabelle lokal ist, kommst du auch an die Funktion nicht dran.

    Nichts anderes schreiben JuergenSchm und ich die ganze Zeit, nämlich z.B.

    Da Deine Funktion Teil einer lokalen Tabelle ist, ist sie implizit ebenfalls lokal und deshalb logischerweise im "Hauptmodul" nicht sichtbar.


    Lokal definierte Funktionen können aus Kontaktpunkten nicht aufgerufen werden, egal in welchem Modul/Block die Funktion definiert wurde (weil Kontaktpunkte immer in einem separaten Modul/Block laufen).

    Das heißt, wenn ich im Hauptskript eine Funktion als lokal deklarieren würde (ich wüsste nicht, warum ich das tun sollte), wäre sie in einem KP nicht sichtbar? Ok, das wusste ich noch nicht.


    Gruß Ingo

    Threema - Sicherer und privater Messenger

    Meine Threema-ID

    Warum Threema?


    Win 10x64 Professional, Gigabyte B360M AORUS, Intel Core i7-8700K, 32GB RAM, NVIDIA GeForce GTX 1050 Ti 4GB, Philips 273V7QDAB Full HD

    Windows Firewall und Defender
    EEP 15.1 Expert Patch 2, Plugins: 1

    EEP 16.4 Expert, Plugins: 1,2,3,4

    EEP 17.0 Expert Patch 1


  • Warum macht ihr euch das Leben so kompliziert?

    Wir befinden uns hier (EEP) im "Spielzeugbereich". Da ist es - im Gegensatz zum Profibereich - schlicht und ergreifend egal, wenn wir den ganzen Krempel den wir brauchen, global definieren.


    Wenn deshalb dann irgendwann mal jemand an die Grenzen der Leistungsfähigkeit stösst, darf er mir seinen Code zeigen. Ich bin sicher, ich finde dann ganz andere Ursachen für die Probleme als zu viele globale Variablen.


    So. Damit habe ich es mir hier wohl bei den Halbprofis verscherzt. :af_1: Egal.



    3. Die Frage fällt mir gerade nicht ein

    Mir aber die Antwort:

    42!


    :aq_1:Gruss Jürg

    Keine EEP mehr in Betrieb. Ich spiele nur noch Forum. Dies aber mit Begeisterung:ap_1:

    _____________________________________________________________________

    Mit gebrochenem rechten Bein und mit gebrochener rechter Hand ist der Mensch schon etwas eingeschränkt. :as_1:(Ferdinand Sauerbruch)