Delphi 7がリリースされたときにMSXML 6.0が存在しませんでした。古いバージョンではなく、MSXML 6.0を使用するようにDelphiのTXMLドキュメントを設定することは可能ですか?Delphi 7でMSXML 6.0を使用してTXMLドキュメントを作成するには?
3
A
答えて
10
ユニット名uMSXMLVersionまたはお好みの名前に以下のコードを追加し、プロジェクトに追加するには
{----------------------------------------------------------------------------
Set Delphi's XMLDocument to use MSXML v6.0
Usage: Include unit in project "uses"-list and Delphi will automatically use
MSXML v6.0 for TXmlDocument.
-----------------------------------------------------------------------------}
unit uMSXMLVersion;
interface
implementation
uses ActiveX, MSXML, MSXMLDOM;
function CreateDOMDocumentEx: IXMLDOMDocument;
const
CLASS_DOMDocument60: TGUID = '{88D96A05-F192-11D4-A65F-0040963251E5}';
begin
Result := nil;
if CoCreateInstance(CLASS_DOMDocument60, nil, CLSCTX_INPROC_SERVER or
CLSCTX_LOCAL_SERVER, IXMLDOMDocument, Result) <> S_OK then
Result := CreateDOMDocument; //call the default implementation
end;
initialization
MSXMLDOMDocumentCreate := CreateDOMDocumentEx;
end.
8
を使用していますmsxmldom.pas
ユニットを使用すると、例えば、にカスタムハンドラを割り当てることができます公共MSXMLDOMDocumentCreate
フックを公開します:
uses
..., msxmldom;
const
CLASS_DOMDocument60: TGUID = '{88D96A05-F192-11D4-A65F-0040963251E5}';
function CreateMSXML6Document: IXMLDOMDocument;
var
Disp: IDispatch;
begin
OleCheck(CoCreateInstance(CLASS_DOMDocument60, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IDispatch, Disp));
Result := Disp as IXMLDOMDocument;
if not Assigned(Result) then
raise DOMException.Create('MSXML 6.0 Not Installed');
end;
initialization
msxmldom.MSXMLDOMDocumentCreate := CreateMSXML6Document;
+0
私は今それをしました。 –
+1
あなたの答えをありがとう。私はあなたのコードがフリッツ・デルマンのものよりも少し良いと思っていますが、以前彼は答えました。 – neves
関連する問題
- 1. MSXMLを使用するXPath Delphi
- 2. iPhone SDKを使用してPDFドキュメントを作成するには?
- 3. 速くクリアなMSXMLドキュメントまたは再作成?
- 4. Javaを使用してJSONドキュメントを作成する方法は?
- 5. Delphi:メインスレッドの外側にソケットを作成して使用する
- 6. Delphi 7でWMIを使用したメモリリーク
- 7. msxmlパーサーを使用して子要素を作成するにはどうすればよいですか?
- 8. Delphi 7でタイマーを作成して自動リセットする方法は?
- 9. Delphi 2010を使用してログイン/パスワードダイアログを作成する方法
- 10. Delphiを使用して圧縮(ZIP)フォルダを作成する
- 11. user.module APIを使用してDrupal 7でユーザーを作成する
- 12. Hydra(Remobjects)を使用してDelphi Prismでプラグインを作成
- 13. なぜDelphi 6のMSXMLライブラリはDelphi 5でメモリをリークしますか?
- 14. Visual C++を使用してsvgドキュメントを作成する
- 15. WorkflowとPocosを使用してEDI x12ドキュメントを作成する
- 16. 継承を使用してXmlドキュメントを作成する
- 17. Delphi 7 - TIdDecoderMIMEを使用したデコードBase64
- 18. Drupal 7を使用してe-showcaseを作成する
- 19. Java EE 7を使用してJSON配列を作成する
- 20. Drupal 7:チェックボックスを使用してタクソノミフィルタを作成する
- 21. Delphi XEで浮動イメージポップアップウィンドウを作成する(Windows 7)
- 22. Delphiでサウンドノートを作成するには?
- 23. Androidを使用してテキストサイズを設定するPDFドキュメント/キャンバスサイズに基づいてPDFドキュメントを作成する
- 24. Delphi 7私のプログラムのキーをオンラインで生成する(delphi 7のライセンス供与)
- 25. Drupal 7を使用してギャラリーページを作成できません
- 26. Delphiの7-Zipを使用していますか?
- 27. MSXML 2.0を使用してXSLT変換を実行する
- 28. msxmlパーサーを使用してxmlスキーマを検証する
- 29. DelphiアプリケーションでXSLTドキュメントを使用してXMLを表示するにはどうすればよいですか?
- 30. Windows 7用のコンテキストメニュー項目の作成。スキャンを使用して
機能を再割り当てするための素敵なトリック。私はあなたがデルファイでこの動的言語のトリックをすることができるかどうかはわかりませんでした。 – neves
[致命的なエラー] uMSXMLVersion.pas(13):ファイルが見つかりませんでした: 'MSXML.dcu' in:これは、私が作業しているレガシーコードを作成した人たちも、デルファイ7パーソナル版。私は何が欠けていますか? – Slappy