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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2013, 00:26   #11
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от 3D Hunter Посмотреть сообщение
в процедуре CallbackGetSource обрамите код в критическую секцию trtlcriticalsection.А вызов Showmessage('Get source'); так же заключите в эту же секцию.
Не помогло
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.02.2013, 00:48   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а если применить прерывистое ожидание с Application.ProcessMessages(или как там) попробовать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.02.2013, 01:09   #13
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Пепел Феникса, оно там есть.
Код:
procedure CallbackGetSource(const src: ustring);
begin
  cs.Enter;
    SourceText:=src;
    //ShowMessage(SourceText);
  cs.Leave;
end;

//==============================================================================
function GetSource(const frame: ICefFrame): string;
var
  Time:DWord;
  SourceText:string;
begin
  SourceText:='';
  cs.Enter; 
  frame.GetSourceProc(CallbackGetSource);
  Application.ProcessMessages;
  Time:=GetTickCount;
  while (length(SourceText)=0) and ((GetTickCount-Time)<3000) do
    Application.ProcessMessages;
    Result:=SourceText;
  cs.Leave;
end;
Критическия секция создаеться в секции initialization. Запихнул код в критическую секцию по вишеуказаному совету(может я не так понял). Код всёравно выполняеться в колбэке после выхода из ГетСорс процедуры...
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.05.2016, 15:20   #14
FF117
Новичок
Джуниор
 
Регистрация: 01.05.2016
Сообщений: 1
По умолчанию

Удалось решить проблему? У меня возникла та же самая.
FF117 вне форума Ответить с цитированием
Ответ


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