Merhabalar,
bir web sayfasi var ve framlerden olusmus. ve benim framlerin sourcelunu gormem lazim. fakat acess denined hatasini aliyorum surekli. baska bir arkadasim HTMLDocumentClass kullanarak sorunu cozmus ama oda delphi kullanmiyor. ben mshtml import etmeme ragmen bu classi bulamadim. yardimci olursaniz cok sevinirim.
Frame'in sourcena ulasmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
Vaktiyle bir uygulama yapmıştım ve bu uygulamada TFORM yerine TWEBBrowser kullanmıştım. sanki bir web sayfası gibi olan formda html içinde bir button yada bir yazıya basıldığında işlem yaptırtıyor yada html içindeki bir tablonun bir kısmına yazılar yazabiliyordum. bunu
http://www.techvanguards.com/products/eventsinkimp/
adresinden indireceğinbileşen ile yapaiblirsin. ister frame olsun ister başka birşey. html ve delphi iletişiminide sağlıyabilirsin. elimde kodlar olmadığı için kod olarak örnek veremiyorum. ancak verdiğim adresteki delphi örneklerini incele..
bu aynı zamanda sıkıcı delphi formlarıyla çalışmanızdan sizi kurtaracak bir bileşendir..
saygılar...
http://www.techvanguards.com/products/eventsinkimp/
adresinden indireceğinbileşen ile yapaiblirsin. ister frame olsun ister başka birşey. html ve delphi iletişiminide sağlıyabilirsin. elimde kodlar olmadığı için kod olarak örnek veremiyorum. ancak verdiğim adresteki delphi örneklerini incele..
bu aynı zamanda sıkıcı delphi formlarıyla çalışmanızdan sizi kurtaracak bir bileşendir..
saygılar...
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
Sorunu asagidaki kod ile hallettim. Baskasinada lazim olur diye buraya koyuyorum
Kod: Tümünü seç
procedure TForm1.Button2Click(Sender: TObject);
procedure IterateFrames(const AWB: IWebBrowser2);
var
Doc: IHTMLDocument2;
Container: IOleContainer;
Enumerator: ActiveX.IEnumUnknown;
Unknown: IUnknown;
Browser: IWebBrowser2;
Fetched: Longint;
begin
if (Assigned(AWB.Document))
and (Supports(AWB.Document, IHTMLDocument2, Doc))
then begin
// Recursive searching.
// ACHTUNG! We cannot use the document's frames collection here, because it
// does not work in every case (i.e. Documents from a foreign domain).
// Taken from http://support.microsoft.com/support/kb/articles/Q196/3/40.ASP
if (Supports(Doc, IOleContainer, Container))
and (Container.EnumObjects(OLECONTF_EMBEDDINGS, Enumerator) = S_OK)
then begin
while Enumerator.Next(1, Unknown, @Fetched) = S_OK do
if (Supports(Unknown, IWebBrowser2, Browser))
then begin
showmessage(doc.body.outerhtml);
IterateFrames(browser);
end;
end;
end;
end;
begin
IterateFrames(WebBrowser1.DefaultInterface);
end;