Suche // Search:

25.10.2011

Der Selbermachen-Bugfix
//
Do-It-Yourself bugfix

Heute mal was ganz aus der Reihe.
Seit Ewigkeiten schon nervt mich diese Meldung in der JavaScript-Konsole bei jedem Öffnen meiner Formulare in Acrobat / Reader, die ich mit Designer erstellt habe:

missing ; before statement
8:Document-Level:!ADBE::0100_VersChkStrings

Auch der neue ADEP Designer verursacht dieses Problem ... arrg.

Eine Recherche mit dem PDFStreamDumper brachte mich recht schnell auf die Ursache.
Designer bettet beim Speichern als PDF-Datei immer einige Dokument-Level-Skripte in JavaScript mit ein, die beim Öffnen der Formulare ausgeführt werden.
Ist zum Beispiel die Zielversion des Formulars höher als die des PDF-Viewers, soll eine entsprechende Meldung aufploppen, um den Benutzer zu informieren.
Das klappt wunderbar, nur nicht mit dem deutschen Designer, da dort einige Strings in dem JavaScript-Skripten falsch geschrieben sind und dadurch beim Öffnen des Formulars scheitern.
Wenn Sie die englische Version des Designer haben, kennen Sie das Problem zum Glück nicht.

Nun kann man theoretisch mit dem PDFStreamDumper den Fehler in den Formularen ausmerzen, aber besser wäre es doch, wenn das Problem gar nicht mehr vorhanden wäre.
Nach langer, langer Suche habe ich die Quelle allen Übels dafür ausgemacht, die Resources.dll im Ordner DE innerhalb des Designer-Programmordners.
Diese DLL können Sie mit dem Freeware-Tool ResHacker öffnen und dann entsprechend selbst reparieren.



Today something totally off-topic.
For eterneties I get bugged by the following exception in the JavaScript console when opening my forms in Acrobat / Reader that I created with Designer:

missing ; before statement
8:Document-Level:!ADBE::0100_VersChkStrings

The new ADEP Designer produces this problem too .... arrg.

An investigation with the PDFStreamDumper showed me the reason for this.
Designer embeds a few document level scripts in JavaScripts into the forms when saving as PDF.
Those scripts will be executed by the PDF-Viewer when opening the forms.
An example: Is the target version of the form higher than the version of the PDF viewer an appropriate message is displayed.
This works like a charm, excepting in the german Designer, because those JavaScripts contain a few faulty strings and fail.
If you use the englisch Designer, you don't have that problem. Lucky you!

Ok, you theoretically can fix that in the forms using the PDFStreamDumper but it will be much better if the problem won't occur anymore.
After a long, very long search I found the root of all evil in the Resources.dll in the folder DE under Designer's program folder.
You can fix this DLL by yourself using the freeware tool ResHacker.

Ausnahme in JavaScript-Konsole bei Formularen erstellt mit deutschem Designer
//
Exception in JavaScript console with forms created with german Designer


Die Wurzel allen Übels – Fehlerhafte Version Check Strings
//
The root of all evil – Faulty Version Check Strings



Der Selbermachen-Bugfix Schritt für Schritt (Auf Ihre eigene Gefahr hin!!!)
//
The Do-It-Yourself Bugfix step by step (At your own risk!!!)

1. Öffnen Sie die Resources.dll mit ResHacker und suchen sie die Strings mit der ID 12626 und 12627 innerhalb der String Table.
//
Open the Resources.dll in ResHacker and look for the two strings with the ID 12626 and 12627 within the string table.



2. Suchen Sie in beiden Strings die Zeichenfolge \"OK\" ...
//
Look for the character sequence \"OK\" with the srings ...



3. ... und entfernen sie die escapten Anführungszeichen \" vor und hinter dem OK und bestätigen Sie mit "Compile Script".
// 
... and replace the escaped quotes \" before und after the OK and confirm the changes with "Compile Scripts".



4. Speichern Sie die Datei.
//
Save the file.



5. Ersetzen Sie die alte Resources.dll unter z.B. C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\DE mit Ihrer neuen und starten Sie Designer neu.
//
Replace the old Resources.dll under i.e. C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\DE with your new one and restart Designer.

1 Kommentar:

  1. Super, herzlichen Dank für die ausführliche Hilfe und PrintScreen.

    AntwortenLöschen