Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.17;
Скачать: CL | DM;

Вниз

Вывод HTML файла на принтер   Найти похожие ветки 

 
ksu ©   (2002-10-09 13:28) [0]

для отображения файла HTML на форме использую Active X компонент TDHTMLED,который был импортирован стандартным образом. Загружаю через метод LoadURL файл, печатаю на принтере методом PrintDocument - все выполняется нормально. При выходе из программы или при методе Destroy или Free компоненты TDHTMLED выдается сообщение об ошибке " Access violation in module DHTMLED.OCX ...". Помогите в чем проблема - может его надо проинициализовать как-то, а потом освободить. Может кто подскажет другой способ печати через компоненту WEBBrowser - не могу найти как через эту компоненту послать на печать файл HTML.


 
Владимир Васильев ©   (2002-10-09 14:07) [1]

procedure TOutForm.DoCopy;
var
A,B : OleVariant;
//Doc : IHTMLDocument2;
rng : IHTMLTxtRange;
Sel : IHTMLSelectionObject;

//TxtList : TStringList;
//SelTxt : WideString;
//Prn : System.Text;
//i : integer;

IECommand : IOleCommandTarget;

MaxBuff : integer;
begin
MaxBuff:=10240;

//Doc := WebBrowser1.Document as IHTMLDocument2;
if Doc=(nil) then
begin
//ShowMessage("Doc Not Loaded");
Exit;
end;

Sel:=Doc.selection as IHTMLSelectionObject;
rng:=Sel.createRange as IHTMLTxtRange;

if Length(rng.text)>MaxBuff then
begin
rng.collapse(true);
//rng.expand("Sentence");
//rng.moveEnd("Sentence",2);
//rng.moveEnd("word",2);
rng.moveEnd("character",MaxBuff);
rng.select;
end;

IECommand := Doc as IoleCommandTarget;
IECommand.Exec(nil, OLECMDID_COPY,OLECMDEXECOPT_PROMPTUSER, A, B);

Exit;

//Print

SelTxt:=rng.text;
if SelTxt="" then
begin
PrintAllDoc:=false;
ShowLocalHelpForm;
end
else
begin
OleCheck(Doc.QueryInterface(IOleCommandTarget,OleCommandTarget));
OleCommandTarget.Exec(nil,OLECMDID_PRINT,OLECMDEXECOPT_PROMPTUSER,A,A);
OleCommandTarget:=nil;
Exit;
end;

Application.ProcessMessages;

if PrintAllDoc then
begin
OleCheck(Doc.QueryInterface(IOleCommandTarget,OleCommandTarget));
OleCommandTarget.Exec(nil,OLECMDID_PRINT,OLECMDEXECOPT_PROMPTUSER,A,A);
OleCommandTarget:=nil;
end;

end;



Страницы: 1 вся ветка

Текущий архив: 2002.10.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-56327
Lancelot
2002-09-21 01:06
2002.10.17
American Beauty


3-56014
Rserg
2002-09-26 18:52
2002.10.17
MSSQL+ADO


1-56171
Ryser
2002-10-07 14:36
2002.10.17
String <-> Pchar


7-56369
MAYOR
2002-08-09 16:57
2002.10.17
Помогите разобраться с TCommPortDriver


1-56089
Ruf
2002-10-08 19:34
2002.10.17
string to byte