Dynamisches Formular schießt Acrobat/Reader ab
Verfasst: 31.10.2010, 18:16
Bei einem zugegebenermaßen außerordentlich umfangreichen Formular werden beim Durcharbeiten zahlreicher Fragen bei vielen Fragen Unterfragen (in eigenen Subforms) aufgeblättert. Mit jedem Aufblättern verbrauchen Acrobat/Reader ganz kräftig Speicher (kann man im Taskmanager mit ansehen) und ab einem gewissen Punkt machen Acrobat/Reader einfach zu,d.h. die Anwendung verschwindet ohne Fehlermeldung und ohne Einträge in den Windows-Ereignisprotokollen.
Ich habe das getestet auf unterschiedlichen Rechnern mit WinXP-SP3 mit Acrobat Pro 8.2.5, Windows 2000 mit Reader 9.4.0 und Windows 7 mit Reader 9.4.0. Es klappt zuverlässig und reproduzierbar.
Da ich auf das manuelle Klicken irgendwann keine Lust mehr hatte, habe ich einfach einen Button eingebaut, welcher mit dem nachfolgenden Code die gleichen Schritte durchführt. Das klappt auch.
var t = [ (...)
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Abfrage.Entscheidung", "FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Effekten.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Beiboot.Abfrage.Entscheidung", "FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Trailer.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Bareboatcharter.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Skippercharter.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einschlüsse.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Vorversicherung.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Vorschäden.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Empfehlung.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Begründung.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Technik.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Entscheidung.Abfrage.Entscheidung"
(...)
];
for (i = 0; i < t.length; i++)
{
xfa.resolveNode(t).rawValue = "ja";
xfa.resolveNode(t).parent.parent.Liste.presence = "visible";
xfa.layout.relayout();
}
Irgendwie darf das ja wohl nicht passieren und daher stelle ich einfach einmal hier die Frage, wo man sinnigerweise nun ansetzt bei Adobe für eine Fehlersuche.
Gruß
Karl Kunze
Ich habe das getestet auf unterschiedlichen Rechnern mit WinXP-SP3 mit Acrobat Pro 8.2.5, Windows 2000 mit Reader 9.4.0 und Windows 7 mit Reader 9.4.0. Es klappt zuverlässig und reproduzierbar.
Da ich auf das manuelle Klicken irgendwann keine Lust mehr hatte, habe ich einfach einen Button eingebaut, welcher mit dem nachfolgenden Code die gleichen Schritte durchführt. Das klappt auch.
var t = [ (...)
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Abfrage.Entscheidung", "FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Effekten.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Beiboot.Abfrage.Entscheidung", "FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Trailer.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Bareboatcharter.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einstieg.Liste.Risikofragen.Skippercharter.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Einschlüsse.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Vorversicherung.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Vorschäden.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Empfehlung.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Begründung.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Technik.Abfrage.Entscheidung",
"FlexDok.Langberatung.Sachsubstanz.Global.Sportboot.Entscheidung.Abfrage.Entscheidung"
(...)
];
for (i = 0; i < t.length; i++)
{
xfa.resolveNode(t).rawValue = "ja";
xfa.resolveNode(t).parent.parent.Liste.presence = "visible";
xfa.layout.relayout();
}
Irgendwie darf das ja wohl nicht passieren und daher stelle ich einfach einmal hier die Frage, wo man sinnigerweise nun ansetzt bei Adobe für eine Fehlersuche.
Gruß
Karl Kunze