Einzelnen Beitrag anzeigen

BloodEye

Registriert seit: 22. Jan 2005
Ort: Dortmund
7 Beiträge
 
#6

Re: Favoriten Icon in eigenen Browser?

  Alt 28. Jan 2005, 10:33
Hmm ok,
Ich hab sowas wie ein beispiel code gefunden was mit ComboBoxEx funktioniert.
Aber leider bekomme ich immer nach dem zweiten Seiten aufruf ein Fehler genau diesen:
Code:
Im Projekt Project2.Eye ist eine Exception der Klasse EOleExeption aufgetreten. Meldung: 'Methd was
called with an invalid parameter'. Prozess wueder angehalten. Mit Einzelne Anweisung oder Start
fortsetzen.
Und hier der code das die icons holt:
Code:
procedure GetFavIcons(AComboBoxEx: TComboBoxEx; AImageList: TImageList; const ATemp: String);
var
  i, j,
  ii: Integer;
  url: String;
  hasFav: Boolean;
  bmp: TBitmap;
  ico: TIcon;
begin
  //Bild erzeugen
  bmp := TBitmap.Create;
  ico := TIcon.Create;

  //ImageList löschen und Standardicon wieder an erste Stelle
  AImageList.GetBitmap(0, bmp);
  AImageList.Clear;
  AImageList.Add(bmp, nil);

  //Alle Eintrge durchlaufen
  for i := 0 to AComboBoxEx.ItemsEx.Count - 1 do
  begin
    url := AComboBoxEx.ItemsEx[i].Caption;
    hasFav := False;
    ii := 0;

    // [Start] versuchen das FavIcon im gleichen Verzeichnis zu laden
    for j := Length(url) downto 2 do
      if (url[j] = '/') and (url[j-1] <> '/') then
      begin
        Delete(url, j, Length(url) - j + 1);
        Break;
      end;
    if Pos('http://', url) = 0 then
      url := 'http://' + url;
    if url[Length(url)] <> '/' then
      url := url + '/';
    UrlDownloadToFile(nil, PChar(url + 'favicon.ico'), PChar(ATemp + 'fav.ico'), 0, nil);
    hasFav := FileExists(ATemp + 'fav.ico');
    // [Ende] versuchen das FavIcon im gleichen Verzeichnis zu laden

    // [Start] gefundenes Icon in ImagList laden und löschen
    if hasFav then
    begin
      try //erst versuchen das Icon als Typ "Icon" zu laden
        ico.LoadFromFile(ATemp + 'fav.ico');
        ii := AImageList.AddIcon(ico);
      except
        try //danach mit "Bitmap" versuchen
           bmp.LoadFromFile(ATemp + 'fav.ico');
           ii := AImageList.Add(bmp, nil);
         except
           hasFav := False;
         end;
      end;
      DeleteFile(ATemp + 'fav.ico');
    end;
    // [Ende] gefundenes Icon in ImagList laden und löschen

    //Icon dem Eintrag zuweisen
    AComboBoxEx.ItemsEx[i].ImageIndex := ii;
  end;
  bmp.Free;
  ico.Free;
end;
Und angeblich ist der fehler in der mozilla unit:
Code:
procedure TMozillaBrowser.Navigate(const URL: WideString);
begin
  DefaultInterface.Navigate(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;
Ich hoffe jemand kann helfen ich selber finde den fehler nicht

Danke
  Mit Zitat antworten Zitat