网址添加到收藏夹代码,运行时报exception class eoleexception错误

slowly2006 2009-08-15 04:44:49
各位高手,我想实现一个将指定网址添加到收藏夹,编译的时候没什么问题,但是一执行,就老报错,还请各位帮我看看~ 哪里出了问题? 谢谢~~

procedure TForm1.Button1Click(Sender: TObject);
const
CLSID_ShellUIHelper:TGUID='{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1}';
var
ShellUIHelper:ISHellUIHelper;
url,title:Olevariant;

begin
url:='www.sohu.com';
title:='搜狐';
ShellUIHelper:=CreateComObject(CLSID_SHELLUIHELPER) as IShellUIHelper;
ShellUIHelper.AddFavorite(url,title);//执行到这句报错
end;
...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2009-08-15
  • 打赏
  • 举报
回复
楼主说"编译的时候没什么问题",说明SHDocVw和ComObj单元都已引用, 只是运行时错误.
gyk120 2009-08-15
  • 打赏
  • 举报
回复
另外,检查下是否引用了ComObj单元
ccrun.com 2009-08-15
  • 打赏
  • 举报
回复
很简单的故障,就是Url没有写完整而已.测试一下就知道了.
ccrun.com 2009-08-15
  • 打赏
  • 举报
回复
Url需要填写完整,如:

Url := 'http://www.sohu.com';
gyk120 2009-08-15
  • 打赏
  • 举报
回复
你没有loadlibrary当然会报错了
procedure TForm1.AddFavorite(IE: TEmbeddedWB);
  procedure CreateUrl(AUrlPath, AUrl: PChar);
  var
  URLfile: TIniFile;
  begin
  URLfile := TIniFile.Create(String(AUrlPath));
  RLfile.WriteString('InternetShortcut', 'URL', String(AUrl));
  RLfile.Free;
  end;
  var
  AddFav: function(Handle: THandle;
  UrlPath: PChar; UrlPathSize: Cardinal;
  Title: PChar; TitleSize: Cardinal;
  FavIDLIST: pItemIDList): Bool; stdcall;
  FDoc: IHTMLDocument2;
  UrlPath, url, title: array[0..MAX_PATH] of char;
  H: HWnd;
  pidl: pItemIDList;
  FRetOK: Bool;
  begin
  FDoc := IHTMLDocument2(IE.Document);
  if FDoc = nil then exit;
  StrPCopy(Title, FDoc.Get_title);
  StrPCopy(url, FDoc.Get_url);
  if Url <> '' then
  begin
  H := LoadLibrary(PChar('shdocvw.dll'));
  if H <> 0 then
  begin
  SHGetSpecialFolderLocation(0, CSIDL_FAVORITES, pidl);
  AddFav := GetProcAddress(H, PChar('DoAddToFavDlg'));
  if Assigned(AddFav) then
  FRetOK :=AddFav(Handle, UrlPath, Sizeof(UrlPath), Title, Sizeof(Title), pidl)
  end;
  FreeLibrary(h);
  if FRetOK then
  CreateUrl(UrlPath, Url);
  end
  end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧