Allmänt meddelande

Collapse
No announcement yet.

Fel i script

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • #16
    Jag prövade att slakta ner originalscriptet till ditt test och problemet kommer i sektionen som läser värdet från cell 110 dvs lösenordscellen.

    För någon som ansluter scriptet till en ny friendly börs installation verkar det fungera, men ej för mig som laborerar med scriptet på c-terminen.

    Friendly Börs verkar väldigt känslig till om man en gång anslutit ett script till c-terminen och tar bort den. Originalvärdet-lösenordet verkar ligga kvar i all evighet, oavsett om man ändrar lösenordet i skickande script...

    Comment


    • #17
      Det är nog bara Lasse som vet eftersom han har skrivit den. Men som jag förstått det hela så läser kompilatorn uppifrån och ner precis som någon annan kompilator skulle gjort. Det som händer först i scriptet kan man i princip läsa av längre ner.

      Om du gör datumkontrollen först och lägger resten av scripten efter så ska det fungera, under förutsättning att variabeln datumkontroll verkligen funkar och returnerar logisk etta när den är sann.

      Comment


      • #18
        Jag har stuvat om i sciptet så först utförs datumkontroll.

        Datumkontroll har nedanstående sista definition, det fungerar:

        Datumkontroll=Or(Datumkontroll_Start2,Datumkontroll_Slut2)

        dvs en Or-sats men det har fungerat i en tidigare ordermodell.

        Uppfylls villkoren från Datumkontroll_Start2 eller Datumkontroll_Slut2 så ska Datumkontroll bli sant dvs 1.

        Vi får se om detta fungerar imorgon.

        Comment


        • #19
          Här ser jag en fälla, Datumkontroll är delnamn av både Datumkontroll_Start2 och Datumkontroll_Slut2. Det kan lura kompilatorn att få träff på fel variabel.


          Datumkontroll=Or(Datumkontroll_Start2,Datumkontroll_Slut2)


          För att fixa det kan man bara lägga till nåt i slutet på Datumkontroll, tex:

          Datumkontroll_Tot=Or(Datumkontroll_Start2,Datumkontroll_Slut2)


          Glöm inte att ändra även i resten av scriptet så att Datumkontroll_Tot ersätter Datumkontroll. Sånt här är lurigt, och kan förklara mycket skumt beteende ibland.

          Comment


          • #20
            Ursprungligen postat av Rikard Nilsson Visa inlägg
            Här ser jag en fälla, Datumkontroll är delnamn av både Datumkontroll_Start2 och Datumkontroll_Slut2. Det kan lura kompilatorn att få träff på fel variabel.


            Datumkontroll=Or(Datumkontroll_Start2,Datumkontroll_Slut2)


            För att fixa det kan man bara lägga till nåt i slutet på Datumkontroll, tex:

            Datumkontroll_Tot=Or(Datumkontroll_Start2,Datumkontroll_Slut2)


            Glöm inte att ändra även i resten av scriptet så att Datumkontroll_Tot ersätter Datumkontroll. Sånt här är lurigt, och kan förklara mycket skumt beteende ibland.

            Ok, jag har lagt på Tot, får se om det hjälper.

            Comment


            • #21
              Det här sl-scriptet är anslutet till omxs308c i cell 1:

              angelösen:=1111
              SetGVarIf(angelösen,110,1)

              I cell 2 har vi detta sl-scriptet:

              lösen:=1111
              kund:=GetGvar(110) {cell där lösenord lagras}
              validate:=Eqv(lösen,kund)

              Som jag ser det blir validate 1 om scriptet i cell 1 har lösenordet 1111.
              Så borde det vara, MEN inte i friendly börs.
              Om jag däremot tar bort Eqv(lösen,kund) och ersätter detta med validate:=1 så fungerar scriptet.
              Det verkar som friendly börs har stora problem med minnesrefereserna

              Att ta bort scripten från omxs308c, låta det gå en insamling och lägga in dom igen fungerar inte heller, referensen till cell 110 verkar ligga globalt i friendly börs minne, så hur får man detta att fungera?

              Comment


              • #22
                Undrar om du kanske har något script anslutet på något annat instrument som också skjuter in värden i cell 110 och orsakar att det skrivs över hela tiden.

                Scriptet för att programmer är anslutet till terminen:

                angelösen:=1111
                SetGVarIf(angelösen,110,1)




                På en annan ledig plats har jag anslutit det här:

                lösen:=1111
                kund:=GetGvar(110) {cell där lösenord lagras}
                validate:=Eqv(lösen,kund)
                datumkonstroll:=1
                data:=GetGVar(103)
                lagrah:=0
                i20(
                SetGVarIf(h,103,lagrah)
                köp1=And(Gt(c,GetGVar(103)),Gt(tidnu,0.01))
                köp2=And(And(köp1,validate),datumkontroll) {datumkontroll måste definieras}
                ritvärde=if(validate,data,0) {om validate är sant returneras värde "data", annars noll}
                Draw(data,2,gqb)
                Mult(köp2,10)
                )

                Jag får grön kurva ritad så länge lösen är satt till 1111. Ändrar jag till 1112 slocknar kurvan. Det måste vara nåt annat script någonstans som "planterar" ett annat värde i cell 110.

                Comment


                • #23
                  Jo, jag hade samma script anslutna till omxs308b-terminen.

                  Jag trodde inte det skulle påverka om de var anslutna till separata instrument.

                  Nu är scripten borttagna på allt förutom omxs308c, vi får hoppas det fungerar imorgon.

                  Comment


                  • #24
                    Det fungerar inte, snacka om frustration.

                    Om jag ändrar detta:

                    lösen:=1111
                    kund:=GetGvar(110) {cell där lösenord lagras}
                    validate:=Eqv(lösen,kund)

                    och lägger på en validate till efter första validaten fungerar det, men herregud skall det vara så här knöligt??

                    lösen:=1111
                    kund:=GetGvar(110) {cell där lösenord lagras}
                    validate:=Eqv(lösen,kund)
                    validate:=1


                    Vitsen med att ha lösenordskontroll är väl att det ska fungera och inte behöva sätta det ur spel??

                    Finns det något annat sätt att ordna lösenordskontroll till script?

                    Scriptet som sätter lösenordet finns inte anslutet till något instrument mer än omxs308c.

                    Comment


                    • #25
                      Det märkliga är att det fungerar här. Prova att byta cell till 111 på båda ställena och se om det bli någon skillnad. Det måste nästan vara nåt annat som programmerar cell 110 med fel värde. Om du provar cell 111 så är den ju troligtvis "ledig" och då får vi svar på om det är något "spök"-script nånstans som sabbar allt. Det här är väldigt enkel kod, och jag kan inte se vad som skulle kunna strula.

                      Comment


                      • #26
                        Ursprungligen postat av Rikard Nilsson Visa inlägg
                        Det märkliga är att det fungerar här. Prova att byta cell till 111 på båda ställena och se om det bli någon skillnad. Det måste nästan vara nåt annat som programmerar cell 110 med fel värde. Om du provar cell 111 så är den ju troligtvis "ledig" och då får vi svar på om det är något "spök"-script nånstans som sabbar allt. Det här är väldigt enkel kod, och jag kan inte se vad som skulle kunna strula.
                        Jag bytte till 111, ingen skillnad. Jag bytte till 390, ingen skillnad.

                        På något sätt verkar det som angelösen lagras globalt i friendly börs minne.
                        Jag har testat byta namn på angelösen till angelosen, ingen skillnad.
                        Det kanske bara är Lars Fossum kvar som kan svara på varför det inte fungerar?

                        Comment


                        • #27
                          Problemet löst.

                          Och vad var det, jo, de andra scripten visades i kursstaplar, men ej detta som visades i analys3 av någon anledning som ej var aktiverad.
                          Jag såg detta vid jämförelse med de andra scripten....

                          Comment


                          • #28
                            Men det fungerar ju! Provade en gång till nu precis för säkerhets skull. Jag har kört exakt enligt följande:


                            lösen:=1111
                            kund:=GetGvar(110) {cell där lösenord lagras}
                            validate:=Eqv(kund,lösen)
                            datumkonstroll:=1
                            data:=GetGVar(103)
                            lagrah:=0 {jag har ett lagrat värde i cell 103 sedan tidigare}
                            i20(
                            SetGVarIf(h,103,lagrah)
                            köp1=And(Gt(c,GetGVar(103)),Gt(tidnu,0.01))
                            köp2=And(And(köp1,validate),datumkontroll) {datumkontroll måste definieras}
                            ritvärde=if(validate,data,0) {om validate är sant returneras värde "data", annars noll}
                            Draw(ritvärde,2,gqb)
                            Mult(köp2,10)
                            )


                            Förutom ovanstående är det anslutet ett script till:

                            angelösen:=1111
                            SetGVarIf(angelösen,110,1)



                            Varje gång jag ändrar 1111 till tex 1113 släcks den gröna linjen, och varje gång jag ändrar tillbaka till 1111 så tänds den. Kan inte komma på vad som skulle kunna orsaka att det inte fungerar hos dig.

                            Comment


                            • #29
                              Nästa grej som ej fungerar är datumkontroll.

                              Som den är programmerad nu skriver jag in slut-datum för scriptet.
                              Skriver jag in slutdatum ex datum är mindre än 19 februari visas ej 19,20 februari. Det är korrekt.

                              Sedan and:as datumkontroll ihop med resterande script. Vad som händer då är att den gröna linjen visas fram tom 18 februari. Jag vill ej att linjen ska visas överhuvudtaget om varken lösenord eller datumkontroll är ok.
                              Hur löser jag detta?

                              ritvärde=if(And(validate,Datumkontroll_2),data,0)

                              Comment


                              • #30
                                Raden ovan fungerar. Då måste både validate och Datumkontroll_2 vara sant för att ritvärde ska få värdet data. Annars blir det noll, och då syns ingen ritad kurva.

                                Om samma kontroll görs för köp2 så spärras alla signaler samtidigt.

                                Har du fått fart på validate nu?

                                Annars återstår väl bara LogMeIn, så får jag se med egna ögon vad som händer.

                                Comment

                                Working...
                                X