Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ Core » [bug] UPP doesn`t see B: virtual drive
[bug] UPP doesn`t see B: virtual drive [message #11016] Tue, 14 August 2007 14:40 Go to next message
Mindtraveller is currently offline  Mindtraveller
Messages: 917
Registered: August 2007
Location: Russia, Moscow rgn.
Experienced Contributor

[UPDATED 15/aug/07]

In my WindowsXP SP2 PROJECTS dir is mounted to B: virtual drive (with subst GUI analog - xsubst).

All the applications do see B:.
But neither UPP IDE nor any UPP apps do. They just don`t see it at all. I think it`s somehow connected with internal drive scanning subsystem of UPP.

[Updated on: Wed, 15 August 2007 09:13]

Report message to a moderator

Re: [bug] UPP doesn`t see B: virtual drive [message #11064 is a reply to message #11016] Fri, 17 August 2007 19:39 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Definitely. Drive B: is explicitly canceled Smile

Anyway, this is sort of ghost from the past, when MSDOS reported "virtual" B: drive even when there was none; selecting this drive usually ended in trouble, with console prompts in GUI apps etc...

Should we reenable B:? Frankly, I guess most computers start with C: nowadays...
Re: [bug] UPP doesn`t see B: virtual drive [message #11068 is a reply to message #11016] Fri, 17 August 2007 23:03 Go to previous messageGo to next message
Mindtraveller is currently offline  Mindtraveller
Messages: 917
Registered: August 2007
Location: Russia, Moscow rgn.
Experienced Contributor

I would say there`s hell lot of situations when A: and/or B: exists: system restore CDs (where "diskette" drives are emulted with CD/DVD dirs), optical drives, on-board flash drives (some systems start from on-board flash with totally hacked Windows versions, adopted for industrial automatics), etc.

I think, that if user WANTS to select B: and knows about some delay - it`s his problem. But we, programmers, must give him this option.

Or else it would be frankly to write in manual`s 1st page: "Here`s my mega-totally-cool highly OOP-oriented cross-platform framework with great abilities, which... doesn`t see B: drive at all."

Explicit cancelling for B: is definitely not obvious feature for user (and programmer).
Then, why B:? Why not A: & B:? After all I suppose this is some effect of making really global framework: some configurations need things, which other computers don`t. It`s OK.Is it right to deprive users for their unusual config for it`s easy not to do that? I`d say, no, it isn`t.

P.S. I really consider U++ "ega-totally-cool highly OOP-oriented cross-platform framework with great abilities" Very Happy It just needs some polishing in a number of ways, to start a little victorious procession for ocuppying frameworks niche. )

[Updated on: Fri, 17 August 2007 23:08]

Report message to a moderator

Re: [bug] UPP doesn`t see B: virtual drive [message #11069 is a reply to message #11068] Sat, 18 August 2007 00:00 Go to previous messageGo to next message
mezise is currently offline  mezise
Messages: 54
Registered: April 2006
Member
I haven't seen B drive in years but yes, it should be configurable in some way. Mindtraveller, would you contribute to that matter and propose any solution? What would be suitable for you keeping in mind Upp applications of other programmers/users?

Michal
Re: [bug] UPP doesn`t see B: virtual drive [message #11074 is a reply to message #11069] Sat, 18 August 2007 10:27 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Well, you can try this: (Core/path.cpp):

Array<FileSystemInfo::FileInfo> FileSystemInfo::Find(String mask, int max_count) const
{
	Array<FileInfo> fi;
	if(IsNull(mask))
	{ // root
#ifdef PLATFORM_WINCE
		FileInfo& f = fi.Add();
		f.filename = "\\";
		f.root_style = ROOT_FIXED;
#elif defined(PLATFORM_WIN32)
		char drive[4] = "?:\\";
		for(int c = 'A'; c <= 'Z'; c++) {
			*drive = c;
			int n = GetDriveType(drive);
			if(n == DRIVE_NO_ROOT_DIR/* || IsWin32() && *drive == 'B'*/) continue;



(The change is the commenting out the test for B in the last line).

[Updated on: Sat, 18 August 2007 10:27]

Report message to a moderator

Previous Topic: Copy files
Next Topic: NTL vs STL compatibility
Goto Forum:
  


Current Time: Thu Mar 28 13:06:45 CET 2024

Total time taken to generate the page: 0.00993 seconds