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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.06.2011, 15:09   #1
Florento
Пользователь
 
Регистрация: 05.02.2011
Сообщений: 35
По умолчанию Потоки

В чем может быть проблема? может кто нибудь подскажет??

В потоке запускаю процедуру ( скриншот из webbrowser )

Код:
procedure WebBrowserScreenShot(const wb: TWebBrowser; const fileName: TFileName);
var
viewObject : IViewObject;
r : TRect;
bitmap : TBitmap;
p1: TMemoryStream;
begin
if wb.Document <> nil then
  begin
    wb.Document.QueryInterface(IViewObject, viewObject) ;
    if Assigned(viewObject) then
      bitmap := TBitmap.Create;
      r := Rect(0, 0, wb.Width, wb.Height) ;
      bitmap.Height := wb.Height;
      bitmap.Width := wb.Width;
      viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0) ;
      bitmap.SaveToFile(filename);
      bitmap.Free;
      viewObject._Release;
end;
end;


Потом с формы запускаю поток и он выдает ошибку. Выделяет строку
bitmap.SaveToFile(filename);

в чем может бысть проблема? может как нибудь можно переделать эту функцию, чтобы она работала в потоке?

Последний раз редактировалось Stilet; 17.06.2011 в 15:45.
Florento вне форума
Старый 17.06.2011, 15:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и он выдает ошибку
А текст ошибки мы сами должны сочинять?
Цитата:
скриншот из webbrowser
А может проще будет тупо сохранить страницу, закачанную в браузере?
I'm learning to live...
Stilet вне форума
Старый 17.06.2011, 16:00   #3
Florento
Пользователь
 
Регистрация: 05.02.2011
Сообщений: 35
По умолчанию

текст ошибки Acces violation in module 'mshtml.dll'. Как то так. Ругается вроде на:
viewObject._Release;

Это для Flash игры. Работать программа должна в свернутом режиме, т.е. не мешая работе компьюетра. Я делаю скриншот из браузера и дальше идет анализ по пикселям.

Если сможете помочь, я в долгу не останусь
Florento вне форума
Старый 17.06.2011, 16:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Acces violation in module 'mshtml.dll'.
Хм... Я ловил такие глюки, но в другой области, с этой ДЛЛкой - поставил новый сервиспак, все заработало.
Цитата:
viewObject._Release;
Попробуй viewObject:=nil;
I'm learning to live...
Stilet вне форума
Старый 17.06.2011, 16:16   #5
Florento
Пользователь
 
Регистрация: 05.02.2011
Сообщений: 35
По умолчанию

Не помогло (
Florento вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
потоки Cpluser Общие вопросы .NET 5 15.02.2011 22:17
Потоки _-Re@l-_ Общие вопросы Delphi 6 18.01.2011 20:45
Потоки Coder86 Общие вопросы Delphi 12 09.06.2010 23:12