Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Вниз

Вывод 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.072 c
1-56079
sergey32
2002-10-08 15:39
2002.10.17
как програмно поменять региональные установки WINDOWS


1-56084
MAXL
2002-10-08 17:59
2002.10.17
Подскажите как решить проблему с Mediaplayer


3-55988
maxim2
2002-09-26 09:19
2002.10.17
Выбрать все разные значения полей из поля


1-56081
Zemal
2002-10-08 15:00
2002.10.17
I/O error 183


14-56343
Alx2
2002-09-20 12:24
2002.10.17
Если бы люди водили автомобили также, как они работают на





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский