Y
yjbin
Unregistered / Unconfirmed
GUEST, unregistred user!
为什么在程序中定义了 ;LPITEMIDLIST pidl; 后,第一次编辑后能执行。但修改后第二次编辑就出错,显示:[C++ Error] Unit1.h(622): E2451 Undefined symbol 'LPITEMIDLIST'
(1)在关闭所有文件,(2)再把编译中产生的垃圾文件(*.tds,*.obj)等都删除后,(3)再打开工程项目文件编译,竟又正常了。
现在的问题是,每当我修改一些代码编译后,都必须执行(1),(2),(3)步,太麻烦了,
我用的是C++ Builder5.0 Enterprise Version + Patch1.
谁知如何此问题解决?
代码段如下,功能是把文件放到桌面上:
#define NO_WIN32_LEAN_AND_MEAN
void __fastcall CreateFilesOnDesktop(AnsiString TotalFileName,AnsiString FileName)
{
; LPITEMIDLIST pidl;
; LPMALLOC pShellMalloc;
; char szDir[MAX_PATH];
; AnsiString DesktopDir;
; if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
;{
; ; //桌面CSIDL_DESKTOPDIRECTORY
; ; //启动目录CSIDL_STARTUP
; ; ;if(SUCCEEDED(SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOPDIRECTORY,&pidl)))
; ; {
; ; ; ;// 如果成功返回true
(1)在关闭所有文件,(2)再把编译中产生的垃圾文件(*.tds,*.obj)等都删除后,(3)再打开工程项目文件编译,竟又正常了。
现在的问题是,每当我修改一些代码编译后,都必须执行(1),(2),(3)步,太麻烦了,
我用的是C++ Builder5.0 Enterprise Version + Patch1.
谁知如何此问题解决?
代码段如下,功能是把文件放到桌面上:
#define NO_WIN32_LEAN_AND_MEAN
void __fastcall CreateFilesOnDesktop(AnsiString TotalFileName,AnsiString FileName)
{
; LPITEMIDLIST pidl;
; LPMALLOC pShellMalloc;
; char szDir[MAX_PATH];
; AnsiString DesktopDir;
; if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
;{
; ; //桌面CSIDL_DESKTOPDIRECTORY
; ; //启动目录CSIDL_STARTUP
; ; ;if(SUCCEEDED(SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOPDIRECTORY,&pidl)))
; ; {
; ; ; ;// 如果成功返回true