Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > TWebBrowser


Автор: xoslv 12.1.2007, 21:19
Умные люди! Помогите пожалуйста!
Передомной стоит задача следующего характера:
необходимо сделать броузер, который привязан к конкретному адресу - банально, но сделал и даже работает! Хотя в Delphi  я полный ноль!
Но проблема в другом, у меня в бровзоре при заполнении какой-либо формы, кнопка с типом SUBMIT не срабатывает, плюс ко всему, не работает комбинация клавиш Ctrl+C тобеж копировать!
Немогли бы подсказать, как решить данную проблему? Перепробовал множество примеров приведённых в интернете, и бестолку....
Помогите пожалуйста, буду весьма признателен!
Могу выложить мой код который уже есть!

Автор: December 12.1.2007, 22:53
drkb...

Автор: xoslv 12.1.2007, 23:14
Цитата(December @ 12.1.2007,  22:53)
drkb...

Что ты хотел етим сказать?

Автор: W4FhLF 12.1.2007, 23:17
http://drkb.ru/

Автор: xoslv 13.1.2007, 14:40
Спасибо за ссылку! Очень полезный материал!
но есть ещо одна беда!
пишу следуещее:
Код

procedure TForm1.MyMessageHandler(var Msg: TMsg; var Handled: Boolean);
var
  iOIPAO: IOleInPlaceActiveObject;
  Dispatch: IDispatch;
begin
   { exit if we don't get back a webbrowser object }
   if WebBrowser1 = nil then
   begin
   Handled := False;
   Exit;
   end; Handled:=(IsDialogMessage(WebBrowser1.Handle, Msg) = True); if (Handled) and (not WebBrowser1.Busy) then
   begin
   if FOleInPlaceActiveObject = nil then
   begin
   Dispatch := WebBrowser1.Application;
   if Dispatch < > nil then
   begin
   Dispatch.QueryInterface(IOleInPlaceActiveObject, iOIPAO);
   if iOIPAO < > nil then
   FOleInPlaceActiveObject := iOIPAO;
   end;
end;
if FOleInPlaceActiveObject < > nil then
  if ((Msg.message = WM_KEYDOWN) or (Msg.message = WM_KEYUP)) and
   ((Msg.wParam = VK_BACK) or (Msg.wParam = VK_LEFT) or (Msg.wParam = VK_RIGHT)) then
   //nothing - do not pass on Backspace, Left or Right arrows
  else
    FOleInPlaceActiveObject.TranslateAccelerator(Msg);
  end;
end;

Пытаюсь запустить......
А программе ненравится < >
Я так понимаю что ненравится пробел..  Когда я его убераю прога запускается, но функция не работает, а с пробелами прога не запускается... Что делать?

Автор: W4FhLF 13.1.2007, 15:11
Ну значит не выполняется это условие, что тут думать?smile

Автор: Letov 26.3.2007, 16:20
Попробуй сделать условие типа
if iOIPAO = nil then
   begin
   end
   else
      FOleInPlaceActiveObject := iOIPAO;
или
if iOIPAO = nil then
   else
      FOleInPlaceActiveObject := iOIPAO;

Компилятору могут непонравится пробелы между переменными и знаками
iOIPAO=nil

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)