Results 1 to 14 of 14

Thread: Yet again Microsoft molests standards VC++ 2005

  1. #1
    Gentoo Ricer
    Join Date
    Jan 2005
    Location
    Galway
    Posts
    11,048
    Thanks
    1,016
    Thanked
    944 times in 704 posts
    • aidanjt's system
      • Motherboard:
      • Asus Strix Z370-G
      • CPU:
      • Intel i7-8700K
      • Memory:
      • 2x8GB Corsiar LPX 3000C15
      • Storage:
      • 500GB Samsung 960 EVO
      • Graphics card(s):
      • EVGA GTX 970 SC ACX 2.0
      • PSU:
      • EVGA G3 750W
      • Case:
      • Fractal Design Define C Mini
      • Operating System:
      • Windows 10 Pro
      • Monitor(s):
      • Asus MG279Q
      • Internet:
      • 240mbps Virgin Cable

    Yet again Microsoft molests standards VC++ 2005

    I'm not long after downloading Visual C++ 2005 Express Edition, instead of implimenting .NET (CLR) in C++, Microsoft decides to yet again molest existing standards and impliment C++ with .Net extentions. And as far as I can tell, none of the new operators and keywords actually practically enhance C++, but serve to cause more problems and incompatiablities with other platforms.

    See for yourself...

    Why can't they just play ball with the rest of the real world?
    Last edited by aidanjt; 02-02-2006 at 02:42 AM.
    Quote Originally Posted by Agent View Post
    ...every time Creative bring out a new card range their advertising makes it sound like they have discovered a way to insert a thousand Chuck Norris super dwarfs in your ears...

  2. #2
    Lovely chap dangel's Avatar
    Join Date
    Aug 2005
    Location
    Cambridge, UK
    Posts
    8,398
    Thanks
    412
    Thanked
    459 times in 334 posts
    • dangel's system
      • Motherboard:
      • See My Sig
      • CPU:
      • See My Sig
      • Memory:
      • See My Sig
      • Storage:
      • See My Sig
      • Graphics card(s):
      • See My Sig
      • PSU:
      • See My Sig
      • Case:
      • See My Sig
      • Operating System:
      • Windows 10
      • Monitor(s):
      • See My Sig
      • Internet:
      • 60mbit Sky LLU
    Perhaps you should of read it better:

    "In Visual C++ 2005 Visual C++ includes new syntax for writing applications to target the common language runtime."

    The key is that last bit. If you've done any .NET programming in C++ in VS2003 you'll know how AWFUL the syntax is, and that's what they've tried to address. MS want C++ to be the premier .NET language (which is a good thing, as it's 'compiled' slighty more than other .NET languages) rather than what it was. Seeing as .NET apps aren't exactly portable, what's the problem here?

    In fact, you'll find MS are sticking the standards MORE elsewhere - for example, you can no longer declare variables in a for loop and expect to use them outside it (as you could with the last runtime) which is as is according the ANSI standard.

    I'm not using any of the new syntax - but then i'm not currently making .NET apps atm - the only 'non-standard' thing i'm using extensively are the new secure extensions to the C runtime - something which i see as being bloody brilliant as it's located a ton of errors in legacy code.
    Crosshair VIII Hero (WIFI), 3900x, 32GB DDR4, Many SSDs, EVGA FTW3 3090, Ethoo 719


  3. #3
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts
    Yet again?

    How long you been using C++ boy, VC 6 came out before the standards where ratified and was I think its very fair to say the closesed to the draft standard than any other on the windows/dos platform at that time (ie, borland). The general belief was that MS VC6 was fair better than borland, MS thought, job done, got the market share, lets make it good. Then comes along .net, bring C++ to .net is actually quite hard, little things like piss poor exception handling made a lot of people speculate as to what use it would be on .net platforms.

    Lately (in time for CLR2) MS hired Herb Sutter, who was (is?) secretary of the ISO/ANSI C++ standards commitie, whislt you could argue he is just their for lip service, i doubt they'd waste him just on that.

    Myself i've not had any problems porting code at all, somewhat like the quake channel 9 example, what is it you've been trying to port that you're having problems with?
    throw new ArgumentException (String, String, Exception)

  4. #4
    Lovely chap dangel's Avatar
    Join Date
    Aug 2005
    Location
    Cambridge, UK
    Posts
    8,398
    Thanks
    412
    Thanked
    459 times in 334 posts
    • dangel's system
      • Motherboard:
      • See My Sig
      • CPU:
      • See My Sig
      • Memory:
      • See My Sig
      • Storage:
      • See My Sig
      • Graphics card(s):
      • See My Sig
      • PSU:
      • See My Sig
      • Case:
      • See My Sig
      • Operating System:
      • Windows 10
      • Monitor(s):
      • See My Sig
      • Internet:
      • 60mbit Sky LLU
    Quote Originally Posted by TheAnimus
    How long you been using C++ boy
    ouch..


    Anyway, what we should REALLY worry about is when MS are going to make a stable, bug free IDE - VS2005 is a pile of SH 1t frankly; some of the bugs are just inexcusable.. Not to mention it being _even slower_ than VS2003 (whilst eating memory like no 2morrow)
    Crosshair VIII Hero (WIFI), 3900x, 32GB DDR4, Many SSDs, EVGA FTW3 3090, Ethoo 719


  5. #5
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,026 times in 677 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS
    Quote Originally Posted by dangel
    Seeing as .NET apps aren't exactly portable, what's the problem here?
    my .net binaries run fine on i386 and amd64 windows; i386 and amd64 linux, and powerpc macosx. perfectly portable.

  6. #6
    Gentoo Ricer
    Join Date
    Jan 2005
    Location
    Galway
    Posts
    11,048
    Thanks
    1,016
    Thanked
    944 times in 704 posts
    • aidanjt's system
      • Motherboard:
      • Asus Strix Z370-G
      • CPU:
      • Intel i7-8700K
      • Memory:
      • 2x8GB Corsiar LPX 3000C15
      • Storage:
      • 500GB Samsung 960 EVO
      • Graphics card(s):
      • EVGA GTX 970 SC ACX 2.0
      • PSU:
      • EVGA G3 750W
      • Case:
      • Fractal Design Define C Mini
      • Operating System:
      • Windows 10 Pro
      • Monitor(s):
      • Asus MG279Q
      • Internet:
      • 240mbps Virgin Cable
    Quote Originally Posted by dangel
    Seeing as .NET apps aren't exactly portable, what's the problem here?
    Mono? Seeing as .Net is suppose to be a platform independent and 'standard' method of deploying applications to multipule platforms, by writting a VC++.Net application you automatically render any kind of development on other platforms impossible because instead of implimenting .Net in C++, they've rewritten the language to fit .Net/C# way of doing things (not even in a good way), a lot of it is utterly pointless and all of it is doable in a standard way.

    Quote Originally Posted by dangel
    In fact, you'll find MS are sticking the standards MORE elsewhere - for example, you can no longer declare variables in a for loop and expect to use them outside it (as you could with the last runtime) which is as is according the ANSI standard.
    g++ has disallowed this for years, you'd have to be an idiot to allow your compiler to accept the use of a variable created in a for loop outside the scope of that code segment. on the other hand, gcc also disallows declaration in for loops altogether inline with ANSI C standards, something that was allowable in VC++ 6/.Net

    Quote Originally Posted by TheAnimus
    Yet again?
    yes 'yet again', Active Directory anyone?, html, css, java, opengl, etc etc.. i sure i could go on all day rehashing Microsoft's perversions of standards. They call it 'innovation', I call it anti-competitive behaviour, and this is just another example of Microsoft using their monopoly to control the marketplace.

    Quote Originally Posted by TheAnimus
    How long you been using C++ boy
    6 years, how long have you been using it boy?
    Clearly not long judging your lack of knowledge of the language.

    Quote Originally Posted by TheAnimus
    Then comes along .net, bring C++ to .net is actually quite hard
    How do you figure that?.. You could impliment memory handling in a class and deal with gc, why redesign the language instead?.. the only thing it does serve is giving Microsoft a monopoly in developing .Net applications in C++.

    Quote Originally Posted by TheAnimus
    little things like piss poor exception handling made a lot of people speculate as to what use it would be on .net platforms.
    Code:
    try {
     doSomething();
    }
    catch (type var) {
      cout << "had an error with var" << endl;
    }
    what's piss poor about that?.. just because you don't understand it, it doesn't mean it sucks.

    Quote Originally Posted by TheAnimus
    Lately (in time for CLR2) MS hired Herb Sutter, who was (is?) secretary of the ISO/ANSI C++ standards commitie, whislt you could argue he is just their for lip service, i doubt they'd waste him just on that.
    Oh, what a convience, like Microsoft would never stoop to bribary, right?

    Quote Originally Posted by TheAnimus
    Myself i've not had any problems porting code at all, somewhat like the quake channel 9 example, what is it you've been trying to port that you're having problems with?
    Lets see.. anything written in Win32, MFC, .Net, VB.. shall i continue?
    At no time has Microsoft ever attempted to play ball with the rest of the Software world (unless its being developed for their platform only).

    So the title for my thread remains as is for those reasons.
    Quote Originally Posted by Agent View Post
    ...every time Creative bring out a new card range their advertising makes it sound like they have discovered a way to insert a thousand Chuck Norris super dwarfs in your ears...

  7. #7
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts
    6 Years, so you should just about remeber the fun of borland products been horrifically un-complaint? VC6 was the closest you could get without doubt, thats why I say yet again?

    exception handling
    http://www.regdeveloper.co.uk/2006/0...tion_handling/ Probably my favourate language troll explains the problem with exception handling in C++, without getting into java talk here, C++ is primative compared to java, and even more so compared to .net!

    Now, this is what i really don't understand, do you want something that compiles C++ code to .net, with no ability to use the .net framework, with none of the advantages of managed code, you except it to interop them magically with complete garbage collection and all the greatness of managed code.

    This is the thing, i don't get what your whining about, it just seams pointless, if you want to make code run .net it has to obay 'the' rules, otherwise its not better. C++ has been implemented, its not been claimed to be the be all and end all of standards, MS even help you understand that by giving you a list of differences.

    It wouldn't matter if they made it 100% standard copmlient in its current purpose anyhow, this is why i don't understand your whinging, because, you'd need all the libries for .net (say mono project) built into the image. This would be hudge and un-whilding. the .net framework isn't like a bunch of libraries in C++. So why does it matter if its not trying to be compliant with the standards? Its not a standard C++ platform, you've got so much more. I remeber you trying to say in another thread how portable C++ code is. It just isn't a case of putting the same code onto another platform hitting F5 and job done.

    Now if your porting something in Win32, its the same as say porting it to RISC OS, as to porting it to .net If the code is well made, its quite trivial, like the quake example i mentioned earlyer. Now this is the thing, .net has so many great things, that its possible to port to it quite easily, but porting away is going to be hell. There is no other competitor, as such a lack of standards dosen't matter, because their isn't the standards framework to support the porting to the new tech (if you get what i'm saying, when lets call it "useful java" comes along to challenge .net, there will need to be standards made for C++ extensions for managed GC, and pretty much half the stuff linked to in that MSDN artical would be considered essential).

    So please explain why your gripe with this is, from what i've done, and seen its standards complient enough to port things into it. But as I'm not aware of anything thats a contender, i can't see why complaints about porting away can be justified just yet.

    .RANT RANT RANT.
    throw new ArgumentException (String, String, Exception)

  8. #8
    Lovely chap dangel's Avatar
    Join Date
    Aug 2005
    Location
    Cambridge, UK
    Posts
    8,398
    Thanks
    412
    Thanked
    459 times in 334 posts
    • dangel's system
      • Motherboard:
      • See My Sig
      • CPU:
      • See My Sig
      • Memory:
      • See My Sig
      • Storage:
      • See My Sig
      • Graphics card(s):
      • See My Sig
      • PSU:
      • See My Sig
      • Case:
      • See My Sig
      • Operating System:
      • Windows 10
      • Monitor(s):
      • See My Sig
      • Internet:
      • 60mbit Sky LLU
    Quote Originally Posted by aidanjt
    Mono? Seeing as .Net is suppose to be a platform independent and 'standard' method of deploying applications to multipule platforms, by writting a VC++.Net application you automatically render any kind of development on other platforms impossible because instead of implimenting .Net in C++, they've rewritten the language to fit .Net/C# way of doing things (not even in a good way), a lot of it is utterly pointless and all of it is doable in a standard way.
    Yes, but i reiterate - C++ .NET in VS2003 resulted in some pretty horrible looking code - which might not mean much to you, but it does to me from maintenance POV. Yes it was 'doable' but I wouldn't of thought it the best option for me... The reality is that for the job I do software cross-platformy-ness(tm) is completely irrelevant as we're driven by our customers need for the Windows platform for their systems. MS are driving the .NET 'standard' (if you like, your bone of contention not mine!) so they can do pretty much anything they like - and projects like mono will either fall into line or by the wayside. Is this a good thing? Is this a bad thing? No idea, and neither do i care to be perfectly honest - it'll not affect my life, income or world peace

    Quote Originally Posted by aidanjt
    g++ has disallowed this for years, you'd have to be an idiot to allow your compiler to accept the use of a variable created in a for loop outside the scope of that code segment. on the other hand, gcc also disallows declaration in for loops altogether inline with ANSI C standards, something that was allowable in VC++ 6/.Net
    Really? I'll just go tell the poor guy scientist working 2 doors down from me that the reason all his code didn't compile on VS2005 was that _he_ is an idiot. Really, such statements do nothing to bolster your case.. It's perfectly reasonable to use the tools that you are given to sanity-check code - yes, i agree it wasn't great that you could get away with it but that's no reason to suppose that we should all be studying ANSI C++ standards before breakfast.

    Quote Originally Posted by aidanjt
    6 years, how long have you been using it boy?
    Clearly not long judging your lack of knowledge of the language.
    Look, I know he took the wrong tone there (and I supported you) but two wrongs n'all that! Let's keep it civil and slighty less agressive on all sides eh? Debate is nice, arguement is pointless
    Crosshair VIII Hero (WIFI), 3900x, 32GB DDR4, Many SSDs, EVGA FTW3 3090, Ethoo 719


  9. #9
    Lovely chap dangel's Avatar
    Join Date
    Aug 2005
    Location
    Cambridge, UK
    Posts
    8,398
    Thanks
    412
    Thanked
    459 times in 334 posts
    • dangel's system
      • Motherboard:
      • See My Sig
      • CPU:
      • See My Sig
      • Memory:
      • See My Sig
      • Storage:
      • See My Sig
      • Graphics card(s):
      • See My Sig
      • PSU:
      • See My Sig
      • Case:
      • See My Sig
      • Operating System:
      • Windows 10
      • Monitor(s):
      • See My Sig
      • Internet:
      • 60mbit Sky LLU
    Quote Originally Posted by TheAnimus
    6 Years, so you should just about remeber the fun of borland products been horrifically un-complaint? VC6 was the closest you could get without doubt, thats why I say yet again?
    I've been at this for er.. crikey about 15 years now and I can remember much farther back when things were even worse. You're right, VC6 was a far better product (for my money it's still a better product than VS2002/2003/2005 for non-.NET development) and got better and better with each of it's (7 - {don't forget the infamous 6a!}) service packs.

    Personally, i'm just hoping for a .NET co-processor for my PC - perhaps then it wouldn't be so darn slow - and a heap more memory. 1 GIG seemed a lot with 2003 but with 2k5 i'm lusting for 2..
    Crosshair VIII Hero (WIFI), 3900x, 32GB DDR4, Many SSDs, EVGA FTW3 3090, Ethoo 719


  10. #10
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts
    yeh background compilation is a great thing on big projects, but for instance my portable crawls as its only on 512 ram atm (i had to give the other dimm back ) have you read about the roumers of a VM accelerator been built into Rockton?
    http://www.theinquirer.net/?article=24781
    Myself i don't mind the performance tradeoff for the managed features, as whilst it uses extra RAM and CPU time, it often seams not to matter (the whole JIT concept).

    Its worth noting managed code is inherently bloated, but .net is better than java on those stakes.

    Myself i've yet to run into any bugs with 2005 since its been out of beta, but then again, i've not been using source safe since the summer.
    throw new ArgumentException (String, String, Exception)

  11. #11
    Gentoo Ricer
    Join Date
    Jan 2005
    Location
    Galway
    Posts
    11,048
    Thanks
    1,016
    Thanked
    944 times in 704 posts
    • aidanjt's system
      • Motherboard:
      • Asus Strix Z370-G
      • CPU:
      • Intel i7-8700K
      • Memory:
      • 2x8GB Corsiar LPX 3000C15
      • Storage:
      • 500GB Samsung 960 EVO
      • Graphics card(s):
      • EVGA GTX 970 SC ACX 2.0
      • PSU:
      • EVGA G3 750W
      • Case:
      • Fractal Design Define C Mini
      • Operating System:
      • Windows 10 Pro
      • Monitor(s):
      • Asus MG279Q
      • Internet:
      • 240mbps Virgin Cable
    a .Net co-processor?.. now there's a scarey thought.
    Quote Originally Posted by Agent View Post
    ...every time Creative bring out a new card range their advertising makes it sound like they have discovered a way to insert a thousand Chuck Norris super dwarfs in your ears...

  12. #12
    Lovely chap dangel's Avatar
    Join Date
    Aug 2005
    Location
    Cambridge, UK
    Posts
    8,398
    Thanks
    412
    Thanked
    459 times in 334 posts
    • dangel's system
      • Motherboard:
      • See My Sig
      • CPU:
      • See My Sig
      • Memory:
      • See My Sig
      • Storage:
      • See My Sig
      • Graphics card(s):
      • See My Sig
      • PSU:
      • See My Sig
      • Case:
      • See My Sig
      • Operating System:
      • Windows 10
      • Monitor(s):
      • See My Sig
      • Internet:
      • 60mbit Sky LLU
    Quote Originally Posted by TheAnimus
    yeh background compilation is a great thing on big projects, but for instance my portable crawls as its only on 512 ram atm (i had to give the other dimm back ) have you read about the roumers of a VM accelerator been built into Rockton?
    http://www.theinquirer.net/?article=24781
    Wow. I hadn't read that - and that really would be a (almost) cure all for the woes of JIT programming. Cheers

    Quote Originally Posted by TheAnimus
    Myself i don't mind the performance tradeoff for the managed features, as whilst it uses extra RAM and CPU time, it often seams not to matter (the whole JIT concept).
    I _hate_ when it's used for startup apps - .NET takes ages to load all those eight-trillion DLLs and really isn't suited to the task. GC isn't one of the my favourite things tbh - i'm old-skool in that i like to own blocks of memory and kill them when _I_ want.

    Quote Originally Posted by TheAnimus
    Its worth noting managed code is inherently bloated, but .net is better than java on those stakes.
    That's probably true. I'm not a fan of either tbh - but that's just down to the kind of programming I do - I'm not working on web projects or massive server farms where JIT scalability comes into play. Right now, UI apps are better done elsewhere - the forms designer is (still) a joke and the whole thing is still sitting on top of Win32 in any case. Who would of thought an MFC app would be considered smallware? Not me a few years back..

    Quote Originally Posted by TheAnimus
    Myself i've yet to run into any bugs with 2005 since its been out of beta, but then again, i've not been using source safe since the summer.
    Oh mine does some great things - the intellisense takes ages to update (P4 3.4ghz), the IDE's windows decided to undock (EVERY darn tab) onto a single monitor (i run two), sometimes the debugger doesn't like to start (it just sits there and comes back to life 2 mins later - althought it only did that one day), project properties take 2 attempts to take or are ignored (in fact the whole properties area is maligned with bugletts), it's using far too much memory to be doing anything but leaking (and yes, you can still leak in .NET!).
    As for SS - we're looking at moving to Sourcegear's Vault - it's seems far superior and stores it's data in a proper db (SQL server 2k5 in our case).
    Crosshair VIII Hero (WIFI), 3900x, 32GB DDR4, Many SSDs, EVGA FTW3 3090, Ethoo 719


  13. #13
    Gentoo Ricer
    Join Date
    Jan 2005
    Location
    Galway
    Posts
    11,048
    Thanks
    1,016
    Thanked
    944 times in 704 posts
    • aidanjt's system
      • Motherboard:
      • Asus Strix Z370-G
      • CPU:
      • Intel i7-8700K
      • Memory:
      • 2x8GB Corsiar LPX 3000C15
      • Storage:
      • 500GB Samsung 960 EVO
      • Graphics card(s):
      • EVGA GTX 970 SC ACX 2.0
      • PSU:
      • EVGA G3 750W
      • Case:
      • Fractal Design Define C Mini
      • Operating System:
      • Windows 10 Pro
      • Monitor(s):
      • Asus MG279Q
      • Internet:
      • 240mbps Virgin Cable
    Quote Originally Posted by dangel
    Really? I'll just go tell the poor guy scientist working 2 doors down from me that the reason all his code didn't compile on VS2005 was that _he_ is an idiot. Really, such statements do nothing to bolster your case.. It's perfectly reasonable to use the tools that you are given to sanity-check code - yes, i agree it wasn't great that you could get away with it but that's no reason to suppose that we should all be studying ANSI C++ standards before breakfast.
    Not meaning to insult anyone by it, but really, if you think about it logically, without reading ISO/ANSI C++ whitepapers:
    Code:
      for(int i=0; i < 100; i++) {
        cout << "i is: " << i << endl;
      }
      cout << "i ended with: " << i << endl;
    is exactly the same as doing:
    Code:
      while(true) {
        int i =0;
        cout << "i is: " << i << endl;
        if(i > 100)
          break;
        i++;
      }
      cout << "i ended with: " << i << endl;
    }
    anyone writting compilers should disallow it right from the start. Its just silly and illogical since i is now clearly out of scope.

    Complying with standards is very important, it allows things to interoperate. Imagine the chaos if the internet was contructed the same way as Microsoft practices software development, I wouldn't be able to connect to my ISPs mail server, much less to people on the other side of the planet.
    Quote Originally Posted by Agent View Post
    ...every time Creative bring out a new card range their advertising makes it sound like they have discovered a way to insert a thousand Chuck Norris super dwarfs in your ears...

  14. #14
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,168
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts
    Okay out of scope variables in a for loop.
    Who gives a damn, if the programmer wants to program badly they will find a way, its their WISH. If someone wants to do something bad, they will always find a way, you should educate, its not as if MS are saying declare variables in for loops and use themoutside.

    The reason people should worry about standards here, is with porting AWAY, porting too is as trouble free as you can except, how can you refute that, watch the quake channel 9 vid, tis awsome. So how does the standards un-compliance hurt it. Have you really got to grips with C++ on say x86 and arm24? then going to .net its not that un-standards compliant. And unlike say HTML/CSS/XHTML there isn't much merrit for been completely standards compliant as there is for making the code easyer to read, and a maintane, its not what most people want to do, flick between compilers, because normally the platform is the limiting factor.

    The JIT enhancer i think is a damn fine idea, when you think we've effectivly got a CISC decoder to a bunch of RISC components.

    As for long startup times, yes, thats bound to happen, just like in the old days of NT4.0 i remeber someone arguing that static linking was better, (i was 9 at the time of this, but fully understood how stupid he was, having just upgraded from an A5000, with 4meg ram, the power leap we were seeing were staggering). So just like DLL hell, people joking in usenet about the loader constantly having to ask if each dependancy is loaded.

    Hybernate once, resume many?
    throw new ArgumentException (String, String, Exception)

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •