2 Stimmen

Umgang mit veralteten Versionen von RTF

Zusammenfassende Fragen:

  1. Kennen Sie eine leichtgewichtige Anwendung, die Dateien im Format RTF Version 1.6 speichern kann?
  2. Wissen Sie, welcher RTF-Version das "Rich Text Format for old apps" von Abiword entspricht?
  3. Kennen Sie eine Möglichkeit, eine RTF-Datei zu untersuchen und festzustellen, unter welcher RTF-Version sie kodiert ist?
  4. Wissen Sie, welche DLL das RTF-Format auf einem Windows NT 4.0-Rechner beschreibt und ob sie nachgerüstet werden kann?

Ich habe eine alte MS Visual C++ 6.0 MFC-Anwendung, die auf einem eingebetteten Windows NT 4.0-Rechner läuft. Die Anwendung bietet In-App-Hilfe unter Verwendung der MFC CRichEditView Klasse, um den Text aus einer RTF Datei namens help.rtf. Die Hilfedatei ist in der RTF-Version 1.6 gespeichert. Sie wurde immer mit MS Word 2000 oder der mit Windows NT 4.0 gelieferten Version von WordPad bearbeitet.

Das Problem ist, dass unsere Entwicklerarbeitsplätze in der Regel mit Windows XP (und der dazugehörigen Version von WordPad) und Office 2003 oder besser ausgestattet sind, die beide neuere Versionen von RTF als 1.6 verwenden, und es wird immer mühsamer, einen Rechner zu finden, auf dem die Datei in diesem veralteten Format bearbeitet und erneut gespeichert werden kann. Wenn eine neuere Version von Word oder WordPad zum Speichern der Datei verwendet wird, wird sie als neuere Version von RTF gespeichert. Wenn die Anwendung dann auf dem NT-Rechner ausgeführt wird, wird der Hilfetext nicht richtig angezeigt. (Wenn dieselbe Anwendung auf einem XP-Rechner ausgeführt wird, wird der Hilfetext jedoch ordnungsgemäß angezeigt).

Ich habe also eine von zwei Möglichkeiten:

  1. Finden Sie eine Anwendung (vorzugsweise eine leichtere als Word 2000), die Dateien im RTF-Format (Version 1.6) speichert, die wir für die zukünftige Bearbeitung der Hilfedatei verwenden können.
  2. Finden Sie einen Weg, um den NT-Rechner dazu zu bringen, neuere RTF-Versionen richtig zu lesen.

An der ersten Front habe ich versucht AbiWort die einen "Rich Text Format für alte Anwendungen" Option, aber ich kann nicht sagen, welche Version von RTF diese Option ausgibt. Wissen Sie, um welche Version es sich handelt? Leider ist es aus den Metadaten in der Datei nicht ohne weiteres ersichtlich, denn dort steht nur "rtf1", wie diese nette Passage aus allen Versionen des RTF-Spezifikation . Gibt es eine Möglichkeit, eine RTF-Datei zu analysieren und festzustellen, unter welcher RTF-Version sie kodiert ist?

Der in dieser RTF-Spezifikation beschriebene RTF-Standard entspricht, obwohl er als Version 1.6 bezeichnet wird, syntaktisch weiterhin der RTF-Spezifikation Version 1. Daher wird der numerische Parameter N für die \rtf Das Steuerwort sollte weiterhin als 1 ausgegeben werden.

Zweitens frage ich mich, ob es eine DLL gibt, die ich einfach aktualisieren kann, damit Windows NT die neuere Version des Formats erkennt. Wissen Sie, welche DLL das RTF-Format beschreibt und ob sie aktualisiert werden kann?

1voto

Mark Ransom Punkte 283960

Ich glaube, das Rich-Edit-Format wird durch das Rich-Edit-Steuerelement selbst bestimmt. Ich würde nicht versuchen, die DLL zu aktualisieren, weil es eine Menge, die brechen könnte.

In diesem MSDN-Hinweis finden Sie Hinweise zur Verwendung der neueren Version des Rich-Edit-Controls. Version 2.0 sollte in NT 4.0 verfügbar sein.

http://msdn.microsoft.com/en-us/library/tt1cfb9f(VS.80).aspx

Sie könnten versuchen, die Version von WordPad von Ihrem NT-System zu kopieren und zu sehen, ob das als Alternative funktioniert.

0voto

Isaac Moses Punkte 1591

Nach einer Kette von Hinweisen, die mit dem Buch von Mark Ransom Antwort kopierte ich schließlich riched20.dll und riched32.dll von C:\Windows\System32\ auf meinem XP-Rechner auf C:\WinNT\System32\ auf dem NT-Rechner. Nachdem ich dies getan hatte, wurden RTF-Dateien, die mit WordPad oder Word auf dem XP-Rechner bearbeitet wurden, sowohl in WordPad als auch in meiner Anwendung auf dem NT-Rechner korrekt dargestellt.

-1voto

Walden Leverich Punkte 4308

Das erste, was mir dazu einfällt, ist WordPad. Es befindet sich auf jedem Rechner und ist wirklich leichtgewichtig in seiner RTF-Version. Ich habe festgestellt, dass es bei vielen einfachen RTF-Aufgaben viel besser ist als Word.

1 Stimmen

Die Version von WordPad, die mit Windows XP geliefert wird, speichert RTF-Dateien in einer neueren Version von RTF.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X