ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

TWebBrowser и поток?
  #1  
Старый 26.01.2009, 17:41
Аватар для ZirroCool
ZirroCool
Участник форума
Регистрация: 16.09.2006
Сообщений: 139
Провел на форуме:
513709

Репутация: 144
Отправить сообщение для ZirroCool с помощью ICQ
Question TWebBrowser и поток?

Проблема такая, код приведенный ниже делаю без потока, и все работает нормально за исключением подвисания формы, как только делаю поток (код см ниже) при запуске программы выдает
Цитата:
raiset exception class EAccess Violation with message 'Access violation at address 43D086F6 with module mshtml.dll Process stoped....'
я понял что трабл в этой части кода
Цитата:
HtmlDocument := form1.WebBrowser1.Document as IHtmlDocument2;
HtmlCollection := HtmlDocument.All;
for I := 0 to HtmlCollection.Length - 1 do
begin
HtmlElement := HtmlCollection.Item(i, 0) as IHtmlElement;
allstr :=allstr+' '+HtmlElement.outerHTML;
Подскажите кто нибудь в чем может быть проблема и как ее исправить!

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls,ActiveX,MSHTML, ExtCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    WebBrowser1: TWebBrowser;
    Memo1: TMemo;
    Button2: TButton;
    Timer1: TTimer;
    StatusBar1: TStatusBar;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
////////////обьявляю поток
tnew = class(tthread)
private
protected
IE:TInternetExplorer;
procedure execute; override;
end;
///////////////
var
  Form1: TForm1;
  xvatit:integer;
  new: tnew;
implementation

{$R *.dfm}
procedure tnew.execute;
var
  HtmlDocument: IHtmlDocument2;
  HtmlCollection: IHtmlElementCollection;
  HtmlElement: IHtmlElement;
  I: Integer;
  opnum:integer;
  allstr:WideString;
begin
  form1.Button1.Enabled:=false;
  xvatit:=0;
  {for z:=0 to 2147483500 do
  begin
    if xvatit = 1 then
    begin
      xvatit := 0;
      exit;
    end;}
  repeat
    HtmlDocument := form1.WebBrowser1.Document as IHtmlDocument2;
    HtmlCollection := HtmlDocument.All;
    for I := 0 to HtmlCollection.Length - 1 do
    begin
      HtmlElement := HtmlCollection.Item(i, 0) as IHtmlElement;
      allstr :=allstr+' '+HtmlElement.outerHTML;
    end;
    //form1.Update;
    //Application.ProcessMessages;
    sleep(200);
    opnum := pos('#ffffff"><B>op',allstr);       //#f9b7ff
    if opnum=0 then
    else
    begin
      allstr := Copy(allstr, opnum+12,opnum+28);
      opnum := pos('</B>',allstr);
      allstr := Copy(allstr,1,opnum-1);
      form1.Memo1.Lines.Add(allstr+'  Был снят в:'+TimeToStr(now));
      //Application.ProcessMessages;
      sleep(200);
      
      form1.WebBrowser1.Navigate('http://xxx.ru/index.html');
      //Application.ProcessMessages;
      sleep(200);
    end;
    //form1.Update;
    allstr:='';
    {end;}
  until xvatit = 1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
new := tnew.create(true);
new.freeonterminate := true;
new.priority := tpnormal;
new.resume;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
form1.WebBrowser1.Navigate('http://xxx.ru/index.html');
end;
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
асм, дизасм, принцип работы процов на определенном уровне. Cthulchu Аппаратное обеспечение 0 05.01.2009 20:14
Задание по мат методом (максимальный поток) kenny-cs О Работе 0 12.12.2008 16:41
.:Join-им 2 exe-шника ручками (using Delphi):. xShreKx Авторские статьи 6 12.06.2006 16:22



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ