Hallo,
hab mal deinen Code überarbeitet.
Die falschen Zeilen sind auskommentiert, neue durch //neu gekennzeichnet.
In einem Post zuvor hatte ich geschrieben :
"Wenn frames.length = 0 ist hast Du keine Frames ",
deshalb der Bereich mit den neuen Zeilen.
Delphi-Quellcode:
var z,z2,count1,count2 : Integer;
begin
with WebBrowser1 do
begin
count1 := OleObject.document.frames.length;
if count1 = 0 then//keine frames //neu
begin //neu
count1 := OleObject.document.images.length; //neu *
for z := 0 to Count1-1 do //neu
Memo1.Lines.Add(OleObject.document.images.Item(z).Src); //neu
end //neu
else //neu
for z := 0 to Count1-1 do
begin
//Count2 := OleObject.document.frames.item(z).document.images.item(z).Src;
Count2 := OleObject.document.frames.item(z).document.images.length; //neu
for z2 := 0 to Count2-1 do
//Memo1.Lines.Add(OleObject.document.images.Item(z).Src);
Memo1.Lines.Add(OleObject.document.frames.item(z).document.images.item(z2).Src);//neu
end;
end;
getestet u.a. mit:
ohne Frames =
Delphi-Praxis
mit Frames =
SELFHTML Framesbeispiel
Deine Web-Seite erzeugt bei mir auch die Fehlermeldung "Zugriff verweigert",
die Ursache wird in deinen Seiten liegen, da ich so ca 10 andere mit dem Code getestet hab.
//Edit: Wenn jemand den Grund kennt, oder eine Lösung hat, wäre schön.
//Edit2: den Code von
shmia konnte ich nicht testen, da mein Delphi die Funktion VariantIsObject nicht kennt und Google auch nicht.
//Edit3: Zeile mit //neu * eingefügt