3810|5

86

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

一个EVC下用SHBrowseForFolder函数导致编译出错的问题 [复制链接]

在EVC4.2+SP4的环境下,调用SHBrowseForFolder函数,用WinCE5.0自带的标准SDK,结果发现如下编译错误:
即使包含了文件Shlobj.h也一样,提示错误大概如下:
D:\testFileTypeSearchDlg.cpp(203) : error C2065: 'BROWSEINFO' : undeclared identifier
D:\testFileTypeSearchDlg.cpp(203) : error C2146: syntax error : missing ';' before identifier 'sttBrowseInfo'
D:\testFileTypeSearchDlg.cpp(203) : error C2065: 'sttBrowseInfo' : undeclared identifier
D:\testFileTypeSearchDlg.cpp(205) : error C2065: 'LPITEMIDLIST' : undeclared identifier
D:\testFileTypeSearchDlg.cpp(215) : error C2065: 'BIF_RETURNONLYFSDIRS' : undeclared identifier
D:\testFileTypeSearchDlg.cpp(216) : error C2065: 'SHBrowseForFolder' : undeclared identifier
D:\testFileTypeSearchDlg.cpp(222) : error C2065: 'SHGetMalloc' : undeclared identifier

另外我测试发现,好像用MFC才这样的,不用MFC的时候调用SHBrowseForFolder函数也是可以的.

最新回复

这个问题多半是编译开关造成的,就是include了头文件,但是依然显示编译错误,楼主可以不用include头文件,直接加入这一段: typedef struct _browseinfo {     HWND        hwndOwner;     LPCITEMIDLIST pidlRoot;     LPTSTR        pszDisplayName;// Return display name of item selected.     LPCTSTR       lpszTitle;      // text to go in the banner over the tree.     UINT         ulFlags;       // Flags that control the return stuff     BFFCALLBACK  lpfn;     LPARAM      lParam;         // extra info that's passed back in callbacks     int          iImage;      // output var: where to return the Image index. } BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;复制代码 或者找一下Shlobj.h中,哪个编译开关未定义,导致找不到BROWSEINFO等结构体的定义。  详情 回复 发表于 2010-5-1 09:52
点赞 关注

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
在网上搜了下,有人说解决这个问题,可惜我打不开他给的网页:

网上别人的帖子位置如下:
http://social.msdn.microsoft.com/Forums/zh-TW/803/thread/4aaacb8a-fa9a-4ee9-9f86-b460db6a0622
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 3 楼 daviemeng 的回复:
剛剛查了Google論壇

解法在

http://groups.google.com/group/comp.os.ms-windows.programmer.tools.mfc/browse_thread/thread/1bed981d82e103a1/9e4436e7621d0821?lnk=st&q=%22SHBrowseForFolder%22+%22C2065%22+&rnum=2#9e4436e7621d0821

真是不懂為什麼要這樣做,不過終於可以動了...

  我也看到了这个帖子,但是上面的那个网址打不开啊!!!!!!!!!!
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

4
 
没人回答,自己顶
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

5
 
開發環境]eVC 4.2 SP4 (Project->Settings->Link->Object/Library modules: Ceshell.lib)

[OS] WINCE 5.0

[SDK]STANDARDSDK_500

請問我想要使用SHBrowseForFolder這個API在WinCE5.0上

當我宣告一個SHBrowseForFolder所需要的參數如下:

BROWSEINFO bi;

編譯錯誤訊息永遠為[error C2065: 'BROWSEINFO' : undeclared identifier]

然後我尋找h檔案後,發現在shlobj.h裡面有BROWSEINFO,所以我又加了#include

但是編譯錯誤訊息還是[error C2065: 'BROWSEINFO' : undeclared identifier]

請問這要如何解決呢?

我在Windows CE 5.0 Help裡面有找到SHBrowseForFolder及BRIWSEINFO的說明,應屬於微軟標準API及Struct吧?

請問有人遇到過這種問題可以提供相關解決的參考資料嗎?

非常感謝....



剛剛查了Google論壇

解法在

http://groups.google.com/group/comp.os.ms-windows.programmer.tools.mfc/browse_thread/thread/1bed981d82e103a1/9e4436e7621d0821?lnk=st&q=%22SHBrowseForFolder%22+%22C2065%22+&rnum=2#9e4436e7621d0821

真是不懂為什麼要這樣做,不過終於可以動了...

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
这个问题多半是编译开关造成的,就是include了头文件,但是依然显示编译错误,楼主可以不用include头文件,直接加入这一段:

  1. typedef struct _browseinfo {
  2.     HWND        hwndOwner;
  3.     LPCITEMIDLIST pidlRoot;
  4.     LPTSTR        pszDisplayName;// Return display name of item selected.
  5.     LPCTSTR       lpszTitle;      // text to go in the banner over the tree.
  6.     UINT         ulFlags;       // Flags that control the return stuff
  7.     BFFCALLBACK  lpfn;
  8.     LPARAM      lParam;         // extra info that's passed back in callbacks
  9.     int          iImage;      // output var: where to return the Image index.
  10. } BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;
复制代码

或者找一下Shlobj.h中,哪个编译开关未定义,导致找不到BROWSEINFO等结构体的定义。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表