Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2017, 09:09   #1
Макс2012
 
Регистрация: 16.09.2011
Сообщений: 9
По умолчанию Не срабатывает процедура TMyVisitor.visit

Всем привет. Есть код который указан ниже, по какой-то причине не срабатывает процедура TMyVisitor.visit. Может кто объяснить почему и как исправить?
Код:
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,ceflib, cefvcl, ChromeTabs,Registry,StrUtils;
 
type
  TForm1 = class(TForm)
    Chromium1: TChromium;
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Chromium1LoadStart(Sender: TObject; const browser: ICefBrowser;
      const frame: ICefFrame);
 
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
type
TMyVisitor=class(TcefDomVisitorOwn)
 
  private
  FclassName:string;
  FNewEmails:String;
  FCntNew:integer;
  protected
  procedure visit(const document:ICefDomDocument); override;
  public
  constructor Create(className: String);
  end;
 
 const
  DefaultCookiesDir = 'Cookies/';
 
  type
  TMyOper=(NONE,AUTHORIZE,GET_NEW_EMAIL);
 
var
  Form1: TForm1;
  operation:TMyOper;
implementation
 
{$R *.dfm}
 
 
procedure TForm1.Button2Click(Sender: TObject);
var
js: string;
visitor:TMyVisitor;
begin
visitor:=TMyVisitor.Create('ns-view-messages-item-wrap');
Chromium1.Browser.MainFrame.VisitDom(visitor);
end;
 
 
{ TMyVisitor }
 
constructor TMyVisitor.Create(className: String);
begin
inherited Create();
FclassName:=ClassName;
FCntNew:=0;
FNewEmails:='';
 
end;
 
procedure TMyVisitor.visit(const document: ICefDomDocument);
procedure ProcessNode(ANode:IcefDomNode);
var
Node, elem: IcefDomNode;
s: String;
begin
 if Assigned(ANode) then begin
  Node:=ANode.FirstChild;
  while Assigned(Node) do begin
  s:= Node.GetElementAttribute('class');
  if Pos(FClassName,s)>0 then begin
   inc(FcntNew);
    elem:=Node.FirstChild;
 
    end;
    processNode(Node);
    Node:=Node.NextSibling;
 
  end;
 
 
 end;
   end;
begin
 ProcessNode(document.Body);
   Form1.Memo1.Lines.Add('');
   Form1.Memo1.Lines.Add('Новых писем: ' + IntToStr(FCntNew));
end;
 
end.

Последний раз редактировалось Аватар; 16.02.2017 в 09:32.
Макс2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает скрипт KGS JavaScript, Ajax 5 23.04.2016 02:37
не срабатывает процедура marwell. Общие вопросы Delphi 3 26.02.2013 01:14
Не срабатывает сортировка Sylar9 Общие вопросы C/C++ 1 08.11.2011 12:03
Процедура в процедура в C++ Builder Ecosasha C++ Builder 2 06.06.2009 17:17
Кто работал с SignSoft VisIT? нужен HELP! TEHb Общие вопросы Delphi 0 07.05.2009 22:27