добрый день
есть TWEbBrowser, в него загружен документ содержащий фреймы. некоторые фреймы содержат собственную коллекцию фреймов. в данный момент получаю указатель на фрейм следующим образом:
function GetFrame(WB: TWebbrowser; FrameName: string): IWebbrowser2;
var
OleContainer: IOleContainer;
enum: IEnumUnknown;
TempUnk: IUnknown;
Fetched: system.PLongint;
FrameNo: system.integer;
Coll: HTMLElementCollection;
begin
With WB do
begin
if Assigned(document) then
begin
Coll:=HTMLElementCollection(HTMLDocument(Document).All.Tags('FRAME'));
for FrameNo:=0 to Coll.length-1 do
if HTMLFrameElement(Coll.item(FrameNo,varEmpty)).name=FrameName then break;
Fetched := nil;
OleContainer := Document as IOleContainer;
OleContainer.EnumObjects(OLECONTF_EMBEDDINGS, Enum);
Enum.Skip(FrameNo);
Enum.Next(1, TempUnk, Fetched);
Result := TempUnk as IWebbrowser2;
end else begin
Result := nil;
end;
end;
end;
вопрос следующий: предположим надо найти в документе определенную ссылку\кнопку итп. можно ли написать такую функцию которая сама искала бы вложенные фреймы? читал про callback функции, вроде понял но реальзовать не получается. помогите плз