Daniel Berger wrote:> Hi Zach (or anyone with VC++ 6),
>
> I was hoping you would test a couple things for me.
> The first thing I would like you to try is replacing
> "#include <shlobj.h>" with "#include
<shfolder.h>".
> That, or try including both.
With Visual Studio 6 I do not have a shfolder.h, although I do have a
shlobj.h. (Although with Borland BC55 you do get shfolder.h). Instead in
shlobj.h I have the following constants defined:
#define CSIDL_DESKTOP 0x0000
#define CSIDL_INTERNET 0x0001
#define CSIDL_PROGRAMS 0x0002
#define CSIDL_CONTROLS 0x0003
#define CSIDL_PRINTERS 0x0004
#define CSIDL_PERSONAL 0x0005
#define CSIDL_FAVORITES 0x0006
#define CSIDL_STARTUP 0x0007
#define CSIDL_RECENT 0x0008
#define CSIDL_SENDTO 0x0009
#define CSIDL_BITBUCKET 0x000a
#define CSIDL_STARTMENU 0x000b
#define CSIDL_DESKTOPDIRECTORY 0x0010
#define CSIDL_DRIVES 0x0011
#define CSIDL_NETWORK 0x0012
#define CSIDL_NETHOOD 0x0013
#define CSIDL_FONTS 0x0014
#define CSIDL_TEMPLATES 0x0015
#define CSIDL_COMMON_STARTMENU 0x0016
#define CSIDL_COMMON_PROGRAMS 0X0017
#define CSIDL_COMMON_STARTUP 0x0018
#define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019
#define CSIDL_APPDATA 0x001a
#define CSIDL_PRINTHOOD 0x001b
#define CSIDL_ALTSTARTUP 0x001d // DBCS
#define CSIDL_COMMON_ALTSTARTUP 0x001e // DBCS
#define CSIDL_COMMON_FAVORITES 0x001f
#define CSIDL_INTERNET_CACHE 0x0020
#define CSIDL_COOKIES 0x0021
#define CSIDL_HISTORY 0x0022
>
> If that doesn''t do the trick, the next thing I''d like
> to try is commenting out all the rb_define_const lines
> that were undefined except CSIDL_ADMINTOOLS. Then put
> this somewhere near the top of dir.c:
>
> #ifndef CSIDL_ADMINTOOLS
> #define CSIDL_ADMINTOOLS 0x0030
> #endif
The CSIDL_ADMINTOOLS returned nil, however I did the same with
CSIDL_HISTORY and it worked.
> I''ll just wrap the
> rb_define_const function calls.
If you want me to aide in an of this grunt work just say, "hey help me
with this grunt work you bloody Visual Studio 6 user, or upgrade!!" =)
Zach