Seite 1 von 4

Eine Frage zu calculate.script

Verfasst: 20.04.2010, 20:58
von yuc2me
Hallo. :)

Ich mal wieder.
Meine Dokumentvorlage hat mittler Weile eine richtig gute Form angenommen.
Aufgrund der Komplexität glaube ich aber, dass solangsam die Performance darunter leidet. Aus meinem Mauszeiger wird immer häufiger eine Sanduhr... :|

gibt es Performance-Unterschiede zwischen FormCalc und Javascript?

Zu meinem Problemchen:
Ich versuche meine Skripte aus dem calculate-event in das exit-event oder click-event zuschreiben.
In einem Summenfeld stand sonst immer:

Code: Alles auswählen

if (exists(Bla[0])) then Sum(Blup1,Blup2)
ersetzt wurde das durch ein einfache Sum(). Um dann aber die Fehlermeldung wegen unbekanntem Objekt zuvermeiden, habe ich vor dem removeInstance-Ereignis

Code: Alles auswählen

X.calculate.script=""
ausführen lassen.
Über die messageBox sehe ich auch, dass das Skript tatsächlich gelöscht wurde, aber trotzdem meckert er nach dem Löschen der letzten verbleibenden Instanz rum, als ob es doch noch da wäre... Ich habe keine Ahnung, was ich noch beachten muss.
Habe auch schon die calculate.override auf disabled gesetzt.

Hat jemand von den Profis hier Ahnung?! :)

Eine Frage zu calculate.script

Verfasst: 21.04.2010, 06:38
von FileAffairs
Hallo yuc2me,

a) Formcalc ist schneller als JavaScript. Ob das schlussendlich wirklich relevant ist ??? - meist ist es eher die "Auswirkung" des Scripts die Zeit braucht also z.B. der Neuaufbau einer Seite

b) Wenn mein löschen der letzten Instanz eines Subforms ein Fehler auftritt hängt das meist damit zusammen das der min Wert der Instanzen nicht 0 ist. Einfach mal bei den Eigenschaften des Subformulars kontrollieren.

Gruß
Maruan Sahyoun | fileaffairs.de

Eine Frage zu calculate.script

Verfasst: 21.04.2010, 06:47
von yuc2me
Ich versuch schon weitestgehend in FormCalc zuschreiben. Ich denke aber aufgrund der Menge und den Verknüpfungen hat er zutun das ganz PDF durchzukalkulieren... *noidea*
Auf alle Fälle blitzt immer wieder die Sanduhr auf, wenn ich in, aus, und über die Textfelder gehe.

Zum Problem. Ich hatte bereit darauf geachtet. Teilformular: Startzahl 1, Min und Max nicht gesetzt.

Eine Frage zu calculate.script

Verfasst: 21.04.2010, 06:55
von yuc2me
Ich hab mal schnell den Problemteil rausgeschnitten um zuzeigen, worin das Problem liegt. Wenn ich also den letzten Unterposten löschen will, soll ganz rechts das Feld dann zur freien Eingabe bereitstehen.

Eine Frage zu calculate.script

Verfasst: 21.04.2010, 07:00
von FileAffairs
hallo yuc2me,

hast Du berechnungen im layout::ready event?

Gruß
Maruan Sahyoun | fileaffairs.de

Eine Frage zu calculate.script

Verfasst: 21.04.2010, 07:02
von yuc2me
Nein eigentlich nicht. Maximal docReady.

Eine Frage zu calculate.script

Verfasst: 21.04.2010, 08:13
von FileAffairs
Hallo yuc2me,

das Problem liegt im Script für die Summenberechnung. Da greifst Du auf ...Details.Detail.ZW zu. Das existiert aber gar nicht mehr wenn Du die letzte Zeile gelöscht hast. Also einfach nen Test einbauen und erst mal prüfen ob es noch ne Instanz gibt.

Gruß
Maruan Sahyoun | fileaffairs.de

Eine Frage zu calculate.script

Verfasst: 21.04.2010, 08:32
von yuc2me
Der Test war ja da, nur hab ich mir gedacht, er muss doch nicht immer testen, ob es da ist und bevor ich die letzte Zeile lösche, lösche ich auch das Skript. Das kuriose ist ja, dass er das auch macht! - Siehe messageBox. Beim ersten Mal steht das script noch drin, dann nicht mehr. Aber trotzdem berechnet er noch!?

Eine Frage zu calculate.script

Verfasst: 21.04.2010, 08:35
von FileAffairs
Hallo yuc2me,

die Berechnung feuert automatisch und zwar bevor Du das Script gelöscht hast.

Gruß
Maruan Sahyoun | fileaffairs.de

Eine Frage zu calculate.script

Verfasst: 21.04.2010, 08:45
von yuc2me
Hmm... also muss ich doch wieder zum alten zurück... Ich habe es befürchtet.

Mich stört nur immer diese blöde Sanduhr, wenn ich über die Felder gehe.

Na gut. Ich danke die für deine Zeit und Geduld. Ohne euch wäre ich schon in mancher Sackgasse hängengeblieben.

Macht weiter so!