AddIntf.AddIncludeFile('xmlshow.js'); end; function TCustomShowXMLButton.GetSubComponents: TObject; begin Result := nil; end; function TCustomShowXMLButton.ImplContent(Options: TWebContentOptions; ParentLayout: TLayout): string; var Attrs: string; Intf: ILayoutWebContent; FormVarName: string; RowSetVarName: string; begin AddQuotedAttrib(Attrs 'NAME' Name); AddQuotedAttrib(Attrs 'STYLE' Style); AddQuotedAttrib(Attrs 'CLASS' StyleRule); AddQuotedAttrib(Attrs 'VALUE' Self.Caption); AddCustomAttrib(Attrs Custom); if Assigned(XMLData.XMLBroker) then begin FormVarName := XMLData.XMLBroker.SubmitFormVarName; RowSetVarName := XMLData.XMLBroker.RowSetVarName(nil); // Row row set var name end; if not (coNoScript in Options.Flags) then Result := Format(''#13#10 [Attrs RowSetVarName XMLMethodName sXMLReadyVar]) else Result := Format(''#13#10 [Attrs]); if Assigned(ParentLayout) and ParentLayout.GetInterface(ILayoutWebContent Intf) then Result := Intf.LayoutButton(Result GetLayoutAttributes); end; { TShowXMLButton } constructor TShowXMLButton.Create(AOwner: TComponent); begin inherited; DefaultCaption := sShowXML; XMLMethodName := 'root';
end; { TShowDeltaButton } constructor TShowDeltaButton.Create(AOwner: TComponent); begin inherited; DefaultCaption := sShowDelta; XMLMethodName := 'getDelta()'; end; 另一种方法使用msxml.dll 如下: .... .... procedure TDHEDForm.OpenBtnClick(Sender: TObject); var pVIn : OleVariant; Prompt : OleVariant; begin pVIn := ''; Prompt := True; DHtmlEdit1.LoadDocument(pVIn Prompt); end; procedure TDHEDForm.SaveBtnClick(Sender: TObject); var vo vb : OleVariant; begin vo := DHTMLEdit1.CurrentDocumentPath; if (vo <> '') then begin vb := false; end else begin vo := ''; vb := true; end; DHTMLEdit1.SaveDocument(vo vb); end; procedure TDHEDForm.SaveAsClick(Sender: TObject); var vo vb : OleVariant; begin vo := ''; vb := true; DHTMLEdit1.SaveDocument(vo vb); end; ...