Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

не копируються данные из TWebBrowser   Найти похожие ветки 

 
Dysan ©   (2005-11-07 13:53) [0]

Значит столкнулся с такой проблемой.
Писал программу в Win2000
Требовалось из TWebBrowser скопировать весь текст и создав документ Word в него вставить! и Все работало посредством вот таких не хитрых команд:
WB.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DONTPROMPTUSER);
WB.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DONTPROMPTUSER);
WB.ExecWB(OLECMDID_CLEARSELECTION, OLECMDEXECOPT_DONTPROMPTUSER);
Переустановил систему на WinXP SP2 и все... работать перестало :(
а точнее не срабаотывает комманда WB.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DONTPROMPTUSER);
Хоть тресни но в буфере обмена остаеться предыдущий скопированный текст! :(
Помогите решить трабл!


 
supervk ©   (2005-11-08 09:46) [1]

У меня и в XP и в 2000 работает почти тоже самое:

OleInitialize(nil);
Explorer.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DONTPROMPTUSER);
Explorer.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DONTPROMPTUSER);

Вручную вставлять пробовал?


 
Dysan ©   (2005-11-08 12:11) [2]

Вручную пробовал вставляет предыдущий скопированный текст.
да вот хоть тресни... и OleInitialize(nil); не помогает! :(
не работает именно комманда копирования!!! а все остальные нормально
что то видимо не хватает.


 
SuperVK ©   (2005-11-09 04:12) [3]

Сделай новый проект. Добавь на него TWebBrowser и кнопку с кодом:

OleInitialize(nil);
WebBrowser1.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DONTPROMPTUSER);
WebBrowser1.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DONTPROMPTUSER);

Проверь, работает или нет.


 
Daysn   (2005-11-09 12:34) [4]

Попробовал, проверил! Не работает!
что за фигня... :(


 
umbra ©   (2005-11-09 15:26) [5]

это политика безопастности XP sp2. Чтобы это было возможно, надо где-то найти соответствующую галочку и изменить ее на противоположную. точнее - что и где я не знаю


 
SuperVK ©   (2005-11-10 04:17) [6]

Вообще странное дело. Вот что я вычитал по этому поводу:

Q: Paste works fine, but Cut and Copy won"t work. What"s the problem?
A: You have to add the following line to the bottom of your unit:

initialization
OleInitialize(nil);

finalization
OleUninitialize;

А по поводу политик и вообще проверки, команды копирования попробуй следующий код:
if WebBrowser1.OleObject.Document.queryCommandEnabled("Copy") then
    ShowMessage("Команда copy разрешена")
else ShowMessage("Команда copy ЗАПРЕЩЕНА!");

Только не забудь перед её выполнением предварительно чего-нибудь ручками выделить в WebBrowser1.


 
Dysan ©   (2005-11-10 11:54) [7]

я решил проблему по другому
т.к. мне надо было срочно то я наверное сделал коряво но мне главное был результат.
я скачал с тори компонент реализующий тотже TWebBrowser только с дополнительными функциями. так вот у него была сделана команда копи вот так:
InvokeCmd(FALSE, OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT, vaIn, vaOut);

где

procedure TEmbeddedWB.InvokeCMD(InvokeIE: Boolean; Value1, Value2: Integer; var vaIn, vaOut: OleVariant);
var
 CmdTarget: IOleCommandTarget;
 PtrGUID: PGUID;
begin
 New(PtrGUID);
 if InvokeIE then PtrGUID^ := CLSID_WebBrowser else
   PtrGuid := PGUID(nil);
 if Document <> nil then
 try
   Document.QueryInterface(IOleCommandTarget, CmdTarget);
   if CmdTarget <> nil then
   try
     CmdTarget.Exec(PtrGuid, Value1, Value2, vaIn, vaOut);
   finally
     CmdTarget._Release;
   end;
 except end;
 Dispose(PtrGUID);
end;

и работает!
хотя если приглядеться то принципиальной разници я так и не увидел
CmdTarget.Exec(PtrGuid, Value1, Value2, vaIn, vaOut); - помоему тоже самое что и ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DONTPROMPTUSER);



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.254 c
2-1175360813
Ezorcist
2007-03-31 21:06
2007.04.22
Как разрешить выделение курсором текста в Label?


15-1174924673
Knight
2007-03-26 19:57
2007.04.22
У кого какая цветовая схема на эдиторе?


1-1172142851
Kolan
2007-02-22 14:14
2007.04.22
Нормальный Enable TPageControl


2-1175162634
YadlU
2007-03-29 14:03
2007.04.22
Разность даты/время


15-1174744564
Alx2
2007-03-24 16:56
2007.04.22
Бюллетень в защиту науки