Verwirrung über das Verhalten der Variablen - Seite 5

 
Es gibt Probleme mit den Leitungen, das ist eine Tatsache. Es ist seltsam, dass sich niemand mit ihnen befasst. Oh nein, das ist es nicht. Es ist nur noch ein Monat bis zum Übergang.
 

Danke für die Anerkennung, MetaDriver und TheExpert, ich habe es satt, etwas als falsch zu beweisen, wenn andere nur zwischen den Zeilen lesen und unangemessene Kommentare abgeben.

Ich hatte gehofft, den Fehler hier im Forum korrekt zu melden, aber einige fühlen sich verpflichtet, eine Antwort zu geben, ohne darauf einzugehen, worum es sich handelt

 
wlad:

Hier ist ein Beispiel für den Vergleich des Verhaltens von Strings und Ints

und Ausgabe im Protokoll:

1. Laden von EA und Initiieren von globalen Variablen

2. Übertragung von externen Variablen auf globale Variablen. einmalige Übertragung durch bool firsttime

3. Änderung der externen Variablen

4. Der Unterschied ist hier zu sehen.

tempString nimmt den Wert von ValueString an - falsch

tempInt behält seinen Wert, obwohl sich ValueInt geändert hat - korrekt

5 und 6 ähnlich wie 3 und 4


erklären Sie bitte, warum sich die Zeichenfolge anders verhält

während die Int korrekt ist

Bitte geben Sie mir konkrete Antworten.


Ich glaube, ich verstehe, was das Problem ist... Wenn Sie die Parameter während des Testens in den EA-Eigenschaften manuell geändert haben, werden sie irgendwo in den .tpl-Dateien gespeichert, und selbst ein erneutes Kompilieren von EA wird nicht helfen. Nur die Schaltfläche "Zurücksetzen" kann helfen. Ob es ein Fehler ist oder nicht, weiß ich nicht...
 
Es stellt sich heraus, dass, wenn Sie etwas im Code ändern, extern bleibt von der vorherigen, vorherigen Version. Und nur das Zurücksetzen der EA-Parameter hilft. Ist es ein Fehler oder nicht? .... ich wiederhole noch einmal..... weiß es nicht......
 
wlad:

Danke für die Anerkennung, MetaDriver und TheExpert, ich habe es satt, etwas als falsch zu beweisen, wenn andere nur zwischen den Zeilen lesen und unangemessene Kommentare abgeben.

Ich hatte gehofft, den Fehler hier im Forum korrekt zu melden, aber einige fühlen sich verpflichtet, eine Antwort zu geben, ohne darauf einzugehen, worum es sich handelt


Sie sollten Ihre Fragen richtig formulieren, denn Sie haben nicht gesagt, dass es sich um ein Problem der Tester handelt.
 

das ist nicht das Problem des Testers!

1. der EA läuft im normalen Betriebsmodus auf der Grafik, nicht im Tester!

Ich habe kein Wort über den Tester erwähnt, ich weiß nicht, woher Sie das haben!

2. externe Parameter ändern sich während des Laufs!

3. Das Problem tritt später bei einer globalen Variablen vom Typ String auf, die fälschlicherweise den Wert

einer externen Variablen, wenn sich diese ändert.

 
wlad:

das ist nicht das Problem des Testers!

1. der Experte läuft im normalen Betriebsmodus auf dem Graphen, nicht im Prüfgerät!

Ich habe kein Wort über den Tester gesagt, ich weiß nicht, woher Sie das haben!

2. externe Parameter ändern sich während der Laufzeit

3. das Problem tritt später bei einer globalen Variablen vom Typ String auf, die fälschlicherweise einen Wert annimmt

externe Variable, wenn letztere geändert wird.


Neugierig. KönntenSie bitte den vollständigen Code von TestInit2 veröffentlichen.
 

Verdammt, vielleicht bin ich dumm.... Aber es funktioniert richtig! ....Auch mit dem Protokoll, das Sie mir gegeben haben...

Beim ersten Tick werden tempString und tempInt geändert und dann in das Protokoll ausgegeben. Bereits ab dem zweiten Häkchen wird nichts mehr geändert, es wird nur noch gedruckt. Setzen Sie Ausdrucke und Kommentare vor das if. Und Sie werden den Unterschied sehen.

 
valenok2003:

Neugierig. KönntenSie bitte den vollständigen TestInit2-Code veröffentlichen?

alle drei genannten Beispiele sind vollständig veröffentlicht

der Code wurde auf ein Minimum vereinfacht

 
Sepulca:

Verdammt, vielleicht bin ich dumm.... Aber es funktioniert richtig! ....Auch mit dem Protokoll, das Sie mir gegeben haben...

Beim ersten Tick werden tempString und tempInt geändert und dann in das Protokoll ausgegeben. Bereits ab dem zweiten Häkchen ändert sich nichts mehr, es wird nur noch gedruckt. Setzen Sie Ausdrucke und Kommentare vor das if. Und Sie werden den Unterschied sehen.

Sie lesen wirklich nicht alles.

Ich habe darauf hingewiesen, dass das Problem offensichtlich ist, wenn Sie externe Variablen ändern.

Lesen Sie das Beispiel aufmerksam durch.


die ersten Beispiele mit iniit gaben nur das Nötigste aus, um den Fehler zu lokalisieren, ich konvertierte es einfach zum Aufruf

von start(), weil viele Leute durch init() verwirrt waren

Grund der Beschwerde: