Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Html редактор


HTML ©   (2008-03-19 07:40:00) 

Здраствуйте

подскажите кто знает

пытаюсь зделать простенький НТМЛ редактор своими руками

Вот код

unit Html;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Buttons, OleCtrls, SHDocVw;

type
 TForm1 = class(TForm)
   WebBrowser1: TWebBrowser;
   SpeedButton1: TSpeedButton;
   SpeedButton2: TSpeedButton;
   SpeedButton3: TSpeedButton;
   SpeedButton4: TSpeedButton;
   procedure WebBrowser1BeforeNavigate2(Sender: TObject;
     const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
     Headers: OleVariant; var Cancel: WordBool);
   procedure WebBrowser1DocumentComplete(Sender: TObject;
     const pDisp: IDispatch; var URL: OleVariant);
   procedure SpeedButton1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 Disp: IDispatch;
 Editor: IHTMLDocument2;

implementation

{$R *.dfm}

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);

var
 CurrentWB: IWebBrowser;
 Editor: IHTMLDocument2;
 begin

      Disp:=pDisp;

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
 CurrentWB: IWebBrowser;
begin
 CurrentWB := Disp as IWebBrowser;
 editor:=(CurrentWB.Document as IHTMLDocument2);
  editor.DesignMode := 'On';

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   WebBrowser1.Navigate('about:<html><body></body></html>');
end;

en


Делфи7 Выдает ошибку

[Error] Html.pas(32): Undeclared identifier: 'IHTMLDocument2'
[Error] Html.pas(58): Operator not applicable to this operand type
[Error] Html.pas(59): Missing operator or semicolon
[Error] Html.pas(16): Unsatisfied forward or external declaration: 'TForm1.WebBrowser1BeforeNavigate2'
[Fatal Error] red.dpr(5): Could not compile used unit 'Html.pas'

не пойму  в чем дело :(


{RASkov}   (2008-03-19 18:02:00) [1]

> [8] Johnmen ©   (19.03.08 17:57)

Некоторым людям не дано понять смысла секретности, я на это расчитывал.... ;)


Johnmen   (2008-03-19 17:57:00) [2]


> {RASkov} ©   (19.03.08 17:54) [7]

Ты зачем секретные сведения разглашаешь?


{RASkov}   (2008-03-19 17:54:00) [3]

> пытаюсь зделать простенький НТМЛ редактор своими руками

> что означают {} - эти ковычки ?

Эти ковычки необходимы толькопри написании простеньких НТМЛ-редакторов... Без них такие редакторы реализовать невозможно...
Они играют большую роль при написании лишнего кода, который так необходим в НТМЛ-редакторах...


HTML   (2008-03-19 11:24:00) [4]

Спасибо АИК
Займусь Плохиш

АИК  все работает но что означают {} - эти ковычки ?


Плохиш   (2008-03-19 10:47:00) [5]


> [Error] Html.pas(16): Unsatisfied forward or external declaration:
>  'TForm1.WebBrowser1BeforeNavigate2'

Здесь тебе открыто говорят, что для каждой декларации методов должна быть их(методов) реализация.

Может тебе стоит начать с чтения букваря и написания программы "Hello World"?


АИК   (2008-03-19 09:07:00) [6]

........  
SpeedButton3: TSpeedButton;
  SpeedButton4: TSpeedButton;
 { procedure WebBrowser1BeforeNavigate2(Sender: TObject;
    const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
    Headers: OleVariant; var Cancel: WordBool);   }
  procedure WebBrowser1DocumentComplete(Sender: TObject;
    const pDisp: IDispatch; var URL: OleVariant);
  procedure SpeedButton1Click(Sender: TObject);
.........


HTML   (2008-03-19 08:41:00) [7]

Есть перевод этих строк

[Намек] Html.pas (44):Переменный 'CurrentWB' объявлен, но никогда не используется в 'TForm1. WebBrowser1DocumentComplete'
[Намек] Html.pas (45):Переменный 'Редактор' объявлен, но никогда не используется в 'TForm1. WebBrowser1DocumentComplete'
[Ошибка] Html.pas (16):Неудовлетворенная передовая или внешняя декларация: 'TForm1. WebBrowser1BeforeNavigate2'
Ошибка] red.dpr (5):Не мог собрать используемую единицу 'Хтмл.пас

зацикливаеться на [Ошибка] Html.pas (16)  этой строке

В чем может быть


АИК   (2008-03-19 08:41:00) [8]

.....
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);

{var
CurrentWB: IWebBrowser;
Editor: IHTMLDocument2;}
begin

     Disp:=pDisp;

end;
.....


HTML   (2008-03-19 07:45:00) [9]

Нашёл ответ непрописал в USEs
activex, mshtml

но вышла другая проблема

[Hint] Html.pas(44): Variable 'CurrentWB' is declared but never used in 'TForm1.WebBrowser1DocumentComplete'
[Hint] Html.pas(45): Variable 'Editor' is declared but never used in 'TForm1.WebBrowser1DocumentComplete'
[Error] Html.pas(16): Unsatisfied forward or external declaration: 'TForm1.WebBrowser1BeforeNavigate2'
[Fatal Error] red.dpr(5): Could not compile used unit 'Html.pas'

:(


Наверх

Титульная страница Поиск, карта сайта Написать письмо