
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.30] |
![]() |
|
![]() |
|
|
Я знаю, что первый не умеет "ходить" назад и вперёд. А второй у меня не грузит паги. Мне надо, чтобы всё это работало в одном флаконе. Возможно ли, без ручного контроля History?
|
Сообщ.
#2
,
|
|
|
Цитата Rrader @ А второй у меня не грузит паги. Что значит не грузит? ![]() |
![]() |
|
|
Цитата Что значит не грузит? ![]() А то, что метод LoadURL всегда вызывает ошибку Can't load .... Я пробовал перейти на 'http://www.google.com', когда Инет был включен, ничего не грузится - ошибка. ![]() |
Сообщ.
#4
,
|
|
|
Ну так правильно... Этот компонент не является полноценным веб-браузером, он не умеет загружать файлы из интернета. Но для этого у него есть соответствующие события, а загружать файлы можно с помощью других библиотек, например Indy.
|
![]() |
|
|
А можно, пожалуйста, пример загрузки страницы в TFrameBrowser с винчестера посмотреть? Т. е. вывод HTML- кода.
![]() |
Сообщ.
#6
,
|
|
|
![]() ![]() unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Readhtml, FramView, FramBrwz, HtmlView; type TForm1 = class(TForm) FrameBrowser1: TFrameBrowser; procedure FormCreate(Sender: TObject); procedure FrameBrowser1GetPostRequest(Sender: TObject; IsGet: Boolean; const URL, Query: String; Reload: Boolean; var NewURL: String; var DocType: ThtmlFileType; var Stream: TMemoryStream); procedure FrameBrowser1ImageRequest(Sender: TObject; const SRC: String; var Stream: TMemoryStream); public BaseDir: string; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin BaseDir := 'F:\Download\'; FrameBrowser1.LoadURL('file://F:\Download\index.htm'); end; procedure TForm1.FrameBrowser1GetPostRequest(Sender: TObject; IsGet: Boolean; const URL, Query: String; Reload: Boolean; var NewURL: String; var DocType: ThtmlFileType; var Stream: TMemoryStream); var S, sType: string; F: TFileStream; P: Integer; begin S := StringReplace(URL, '|', ':', [rfReplaceAll]); P := Pos(':', S) + 2; sType := Copy(S, 1, P); Stream := TMemoryStream.Create; if AnsiLowerCase(sType) = 'file://' then begin S := StringReplace(Copy(S, P + 1, MaxInt), '/', '\', [rfReplaceAll]); F := TFileStream.Create(S, fmOpenRead); try Stream.CopyFrom(F, F.Size); finally F.Free; end; end; end; procedure TForm1.FrameBrowser1ImageRequest(Sender: TObject; const SRC: String; var Stream: TMemoryStream); begin {} end; end. |
![]() |
|
|
А поле BaseDir зачем?
P. S. Спасибо! Лови плюс! ![]() |
Сообщ.
#8
,
|
|
|
Цитата Rrader @ А поле BaseDir зачем? Reserved. Для дальнейшего расширения программы. ![]() |
![]() |
|
|
Цитата Я знаю, что первый не умеет "ходить" назад и вперёд. Я так думал, потому что видел методы GoFwd и GoBack. ![]() |
Сообщ.
#10
,
|
|
|
Rrader, в хелпе по компоненту все написано. Читай "Setting up a History List".
|
![]() |
|
|
Цитата Читай "Setting up a History List". Я его ранее читал, но не присмотрелся к одному предложению! А сейчас перечитал, всё понял. У меня св-во HistoryMaxCount было равным нулю! Вопрос решён! ![]() |