Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. How/where to report MS bugs?

How/where to report MS bugs?

Scheduled Pinned Locked Moved The Lounge
helpquestioncsharpdotnetcom
25 Posts 8 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    Konstantin Vasserman
    wrote on last edited by
    #1

    I am sorry if this is the wrong place to post this question. I couldn't figure out what the best forum for it would be. I think that I've ran into a bug in .NET Framework and I would like to report it to MS together with some sample code and files. I cannot seem to figure out where to send this information. After clicking for a while thru all the microsoft.com "contact us" pages I am totally lost. Any help will be greatly appreciated. TIA. Kostya.

    D C 2 Replies Last reply
    0
    • K Konstantin Vasserman

      I am sorry if this is the wrong place to post this question. I couldn't figure out what the best forum for it would be. I think that I've ran into a bug in .NET Framework and I would like to report it to MS together with some sample code and files. I cannot seem to figure out where to send this information. After clicking for a while thru all the microsoft.com "contact us" pages I am totally lost. Any help will be greatly appreciated. TIA. Kostya.

      D Offline
      D Offline
      David Stone
      wrote on last edited by
      #2

      Actually, there are a couple of Microsoft guys who are right here on CP. Nick Hodapp runs the Semicolon column, and it's about Microsoft support this month, you may want to check that out. Also, Eric Gunnerson is the C# Quality Assurance manager. If it's a problem that you have with C# rather than .NET, you could talk to him...of course, I'm sure he would be glad to relay a message to another department if you told him of a bug in .NET... Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

      K 1 Reply Last reply
      0
      • D David Stone

        Actually, there are a couple of Microsoft guys who are right here on CP. Nick Hodapp runs the Semicolon column, and it's about Microsoft support this month, you may want to check that out. Also, Eric Gunnerson is the C# Quality Assurance manager. If it's a problem that you have with C# rather than .NET, you could talk to him...of course, I'm sure he would be glad to relay a message to another department if you told him of a bug in .NET... Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

        K Offline
        K Offline
        Konstantin Vasserman
        wrote on last edited by
        #3

        David, It looks like the bug is in one of the .NET Class Library classes, so it is not language specific. In fact, I have just tried it in C# (Windows app), VB.NET (Windows app) and ASP.NET (C#). In all 3 cases I get the same exception in exactly the same place, so it seems to be the Framework problem. I hate to bother Nick Nodapp or Eric Gunnerson if there is a place where bug reports like this should be sent. But if I won't find place like that, I guess, I will have to ask them for help. Thank you for your suggestions.

        T S 2 Replies Last reply
        0
        • K Konstantin Vasserman

          David, It looks like the bug is in one of the .NET Class Library classes, so it is not language specific. In fact, I have just tried it in C# (Windows app), VB.NET (Windows app) and ASP.NET (C#). In all 3 cases I get the same exception in exactly the same place, so it seems to be the Framework problem. I hate to bother Nick Nodapp or Eric Gunnerson if there is a place where bug reports like this should be sent. But if I won't find place like that, I guess, I will have to ask them for help. Thank you for your suggestions.

          T Offline
          T Offline
          Tim Smith
          wrote on last edited by
          #4

          Read Nick's Semicolon article. He talks about how to report bugs. Tim Smith "Programmers are always surrounded by complexity; we can not avoid it... If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather that part of the solution." Hoare - 1980 ACM Turing Award Lecture

          K C 2 Replies Last reply
          0
          • K Konstantin Vasserman

            David, It looks like the bug is in one of the .NET Class Library classes, so it is not language specific. In fact, I have just tried it in C# (Windows app), VB.NET (Windows app) and ASP.NET (C#). In all 3 cases I get the same exception in exactly the same place, so it seems to be the Framework problem. I hate to bother Nick Nodapp or Eric Gunnerson if there is a place where bug reports like this should be sent. But if I won't find place like that, I guess, I will have to ask them for help. Thank you for your suggestions.

            S Offline
            S Offline
            Stephane Rodriguez
            wrote on last edited by
            #5

            Tell us the class name, member and the context of use. There are IL desassemblers out there to exactly figure out what's going on.


            She's so dirty, she threw a boomerang and it wouldn't even come back.

            K 1 Reply Last reply
            0
            • T Tim Smith

              Read Nick's Semicolon article. He talks about how to report bugs. Tim Smith "Programmers are always surrounded by complexity; we can not avoid it... If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather that part of the solution." Hoare - 1980 ACM Turing Award Lecture

              K Offline
              K Offline
              Konstantin Vasserman
              wrote on last edited by
              #6

              Thank you.

              1 Reply Last reply
              0
              • S Stephane Rodriguez

                Tell us the class name, member and the context of use. There are IL desassemblers out there to exactly figure out what's going on.


                She's so dirty, she threw a boomerang and it wouldn't even come back.

                K Offline
                K Offline
                Konstantin Vasserman
                wrote on last edited by
                #7

                I don't see how IL disassembler will help me. Perhaps, I will be able to pin point the problem down to a specific location, but I will not be able to fix or redistribute a fix to the rest of the world. MS needs to know about it, so if it is indeed a bug they can fix it in the next SP or patch. Am I wrong?

                S D 2 Replies Last reply
                0
                • K Konstantin Vasserman

                  I don't see how IL disassembler will help me. Perhaps, I will be able to pin point the problem down to a specific location, but I will not be able to fix or redistribute a fix to the rest of the world. MS needs to know about it, so if it is indeed a bug they can fix it in the next SP or patch. Am I wrong?

                  S Offline
                  S Offline
                  Stephane Rodriguez
                  wrote on last edited by
                  #8

                  They have S.I.G.s and hords of consultants for this purpose already. Fixing this thing ? Of course not, think workaround instead. That's what an IL disassembler is for. (chop Anakrino).


                  She's so dirty, she threw a boomerang and it wouldn't even come back.

                  D K 2 Replies Last reply
                  0
                  • K Konstantin Vasserman

                    I don't see how IL disassembler will help me. Perhaps, I will be able to pin point the problem down to a specific location, but I will not be able to fix or redistribute a fix to the rest of the world. MS needs to know about it, so if it is indeed a bug they can fix it in the next SP or patch. Am I wrong?

                    D Offline
                    D Offline
                    David Stone
                    wrote on last edited by
                    #9

                    What Stephane wants to try is disassembling the actuall .NET Framework class. When you do that, you can see what the .NET class is actually doing and can see if it really does what you want it to do... Which class is it by the way? Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

                    K 1 Reply Last reply
                    0
                    • S Stephane Rodriguez

                      They have S.I.G.s and hords of consultants for this purpose already. Fixing this thing ? Of course not, think workaround instead. That's what an IL disassembler is for. (chop Anakrino).


                      She's so dirty, she threw a boomerang and it wouldn't even come back.

                      D Offline
                      D Offline
                      David Stone
                      wrote on last edited by
                      #10

                      __Stephane Rodriguez__ wrote: That's what an IL disassembler is for. (chop Anakrino). I don't like Anakrino very much either... X| Just give me the good-old-fashioned IL...:-D Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

                      1 Reply Last reply
                      0
                      • S Stephane Rodriguez

                        They have S.I.G.s and hords of consultants for this purpose already. Fixing this thing ? Of course not, think workaround instead. That's what an IL disassembler is for. (chop Anakrino).


                        She's so dirty, she threw a boomerang and it wouldn't even come back.

                        K Offline
                        K Offline
                        Konstantin Vasserman
                        wrote on last edited by
                        #11

                        Ok. Here it goes: I need to read EXIF info out of JPEG images. There is support for it in .NET System.Drawing.Image class. The property in question is PropertyItems. This property returns an array of System.Drawing.Imaging.PropertyItem objects. A very simple code sample would be:

                        Image img = Image.FromFile("mypicture.jpg");
                        PropertyItem[] pitems = img.PropertyItems;

                        It used to work fine. However, there is a new digital camera that was just released just a few days ago that produces images with EXIF 2.2 (updated standard) information. The camera is Sony DSC-F717. Whenever I am trying to use image out of this camera I get an exception "Value cannot be null" in the second line of the above code. Naturally, my first thought was that .NET is just not written to support newer EXIF standard. But there are 2 problems with this: a) It should not give an exception - it does not seem like a correct behavior in this case. It should report "Invalid format" or something... b) I've found images out of another brand of camera that are in EXIF 2.2 format and they work... Then I thought that Sony camera's produces invalid images (not following standard or bug in encoding), but it still should not crash the framework IMO. That is the description of my problem. I can supply a sample image that causes the error if someone cares to see it for themselves.

                        S J 3 Replies Last reply
                        0
                        • D David Stone

                          What Stephane wants to try is disassembling the actuall .NET Framework class. When you do that, you can see what the .NET class is actually doing and can see if it really does what you want it to do... Which class is it by the way? Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

                          K Offline
                          K Offline
                          Konstantin Vasserman
                          wrote on last edited by
                          #12

                          According to my Call Stack the error occures somewhere in System.Drawing.Imaging.PropertyItemInternal class. I have posted the details in response to Stephane. Thanks.

                          S 1 Reply Last reply
                          0
                          • K Konstantin Vasserman

                            Ok. Here it goes: I need to read EXIF info out of JPEG images. There is support for it in .NET System.Drawing.Image class. The property in question is PropertyItems. This property returns an array of System.Drawing.Imaging.PropertyItem objects. A very simple code sample would be:

                            Image img = Image.FromFile("mypicture.jpg");
                            PropertyItem[] pitems = img.PropertyItems;

                            It used to work fine. However, there is a new digital camera that was just released just a few days ago that produces images with EXIF 2.2 (updated standard) information. The camera is Sony DSC-F717. Whenever I am trying to use image out of this camera I get an exception "Value cannot be null" in the second line of the above code. Naturally, my first thought was that .NET is just not written to support newer EXIF standard. But there are 2 problems with this: a) It should not give an exception - it does not seem like a correct behavior in this case. It should report "Invalid format" or something... b) I've found images out of another brand of camera that are in EXIF 2.2 format and they work... Then I thought that Sony camera's produces invalid images (not following standard or bug in encoding), but it still should not crash the framework IMO. That is the description of my problem. I can supply a sample image that causes the error if someone cares to see it for themselves.

                            S Offline
                            S Offline
                            Stephane Rodriguez
                            wrote on last edited by
                            #13

                            As expected, System.Drawing.Image.FromFile("...") does a simple GDI+ call : GdipLoadImageFromFile("..."). Which is a gdi+ exported function (see dumpbin /exports <winsysdir>gdiplus.dll). So the issue is more probably in GDI+ itself. There is no direct reference to the GdipLoadImageFromFile() function in the MSDN documentation. Instead you have a reference to the actual method in the Image class wrapper. Just here[^].


                            She's so dirty, she threw a boomerang and it wouldn't even come back.

                            1 Reply Last reply
                            0
                            • K Konstantin Vasserman

                              Ok. Here it goes: I need to read EXIF info out of JPEG images. There is support for it in .NET System.Drawing.Image class. The property in question is PropertyItems. This property returns an array of System.Drawing.Imaging.PropertyItem objects. A very simple code sample would be:

                              Image img = Image.FromFile("mypicture.jpg");
                              PropertyItem[] pitems = img.PropertyItems;

                              It used to work fine. However, there is a new digital camera that was just released just a few days ago that produces images with EXIF 2.2 (updated standard) information. The camera is Sony DSC-F717. Whenever I am trying to use image out of this camera I get an exception "Value cannot be null" in the second line of the above code. Naturally, my first thought was that .NET is just not written to support newer EXIF standard. But there are 2 problems with this: a) It should not give an exception - it does not seem like a correct behavior in this case. It should report "Invalid format" or something... b) I've found images out of another brand of camera that are in EXIF 2.2 format and they work... Then I thought that Sony camera's produces invalid images (not following standard or bug in encoding), but it still should not crash the framework IMO. That is the description of my problem. I can supply a sample image that causes the error if someone cares to see it for themselves.

                              J Offline
                              J Offline
                              James T Johnson
                              wrote on last edited by
                              #14

                              This sounds like it could be a bug in GDI+, there was another one found earlier this year by someone on CP (I forget the exact symptoms now). My suggestion is to make a post similar to this one in the appropriate CP forum (.NET Framework) and/or post on the appropriate public MS newsgroup for .NET.

                              James Sig code stolen from David Wulff

                              1 Reply Last reply
                              0
                              • K Konstantin Vasserman

                                Ok. Here it goes: I need to read EXIF info out of JPEG images. There is support for it in .NET System.Drawing.Image class. The property in question is PropertyItems. This property returns an array of System.Drawing.Imaging.PropertyItem objects. A very simple code sample would be:

                                Image img = Image.FromFile("mypicture.jpg");
                                PropertyItem[] pitems = img.PropertyItems;

                                It used to work fine. However, there is a new digital camera that was just released just a few days ago that produces images with EXIF 2.2 (updated standard) information. The camera is Sony DSC-F717. Whenever I am trying to use image out of this camera I get an exception "Value cannot be null" in the second line of the above code. Naturally, my first thought was that .NET is just not written to support newer EXIF standard. But there are 2 problems with this: a) It should not give an exception - it does not seem like a correct behavior in this case. It should report "Invalid format" or something... b) I've found images out of another brand of camera that are in EXIF 2.2 format and they work... Then I thought that Sony camera's produces invalid images (not following standard or bug in encoding), but it still should not crash the framework IMO. That is the description of my problem. I can supply a sample image that causes the error if someone cares to see it for themselves.

                                S Offline
                                S Offline
                                Stephane Rodriguez
                                wrote on last edited by
                                #15

                                For Image.PropertyItems, it's the same GDI+ stuff (Image::GetPropertyItem gdi+ wrapper in gdiplus.dll). I would be you, I would try to reproduce the issue using C++ alone. That said, I don't know all ins and outs about JPEG codecs, but you'll find in PlatformSDK\include\prelease\GdiplusImaging.h the GUID for the JPEG codec, and more interestingly this :

                                //---------------------------------------------------------------------------
                                // Property sets
                                //---------------------------------------------------------------------------

                                DEFINE_GUID(FormatIDImageInformation, 0xe5836cbe,0x5eef,0x4f1d,0xac,0xde,0xae,0x4c,0x43,0xb6,0x08,0xce);
                                DEFINE_GUID(FormatIDJpegAppHeaders, 0x1c4afdcd,0x6177,0x43cf,0xab,0xc7,0x5f,0x51,0xaf,0x39,0xee,0x85);

                                which lets me believe you can handle custom JPEG internals with the current gdiplus. Lotsa work tonight for those interested ! (sorry, I'm already falling asleep....:zzz:)


                                She's so dirty, she threw a boomerang and it wouldn't even come back.

                                1 Reply Last reply
                                0
                                • K Konstantin Vasserman

                                  According to my Call Stack the error occures somewhere in System.Drawing.Imaging.PropertyItemInternal class. I have posted the details in response to Stephane. Thanks.

                                  S Offline
                                  S Offline
                                  Stephane Rodriguez
                                  wrote on last edited by
                                  #16

                                  Here is the PropertyItem internal :

                                  public System.Drawing.Imaging.PropertyItem[] get_PropertyItems() {
                                  int local0;
                                  int local1;
                                  int local2;
                                  IntPtr local3;
                                  System.Drawing.Imaging.PropertyItem[] local4;

                                  local2 = SafeNativeMethods.GdipGetPropertyCount(this.nativeImage, local1);
                                  if (local2 != 0)
                                  	throw SafeNativeMethods.StatusException(local2);
                                  local2 = SafeNativeMethods.GdipGetPropertySize(this.nativeImage, local0, local1);
                                  if (local2 != 0)
                                  	throw SafeNativeMethods.StatusException(local2);
                                  if (local0 == 0 || local1 == 0)
                                  	return new PropertyItem\[0\];
                                  local3 = Marshal.AllocHGlobal(local0);
                                  local2 = SafeNativeMethods.GdipGetAllPropertyItems(this.nativeImage, local0, local1, local3);
                                  if (local2 != 0) {
                                  	Marshal.FreeHGlobal(local3);
                                  	throw SafeNativeMethods.StatusException(local2);
                                  }
                                  local4 = PropertyItemInternal.ConvertFromMemory(local3, local1);
                                  Marshal.FreeHGlobal(local3);
                                  GC.KeepAlive(this);
                                  return local4;
                                  

                                  }

                                  You can see the gdiplus calls. PropertyItemInternal.ConvertFromMemory :

                                  nternal static System.Drawing.Imaging.PropertyItem[] ConvertFromMemory(IntPtr propdata, int count) {
                                  System.Drawing.Imaging.PropertyItem[] local0;
                                  int local1;
                                  PropertyItemInternal local2;

                                  local0 = new PropertyItem\[checked((uint) count)\];
                                  local1 = 0;
                                  while (local1 < count) {
                                  	local2 = (PropertyItemInternal) UnsafeNativeMethods.PtrToStructure(propdata, typeof(PropertyItemInternal));
                                  	local0\[local1\] = new PropertyItem();
                                  	local0\[local1\].Id = local2.id;
                                  	local0\[local1\].Len = local2.len;
                                  	local0\[local1\].Type = local2.type;
                                  	local0\[local1\].Value = local2.Value;
                                  	propdata = 20315E582031596Cop\_Explicit20315970
                                  

                                  20315E582031596Cop_Explicit20315970
                                  propdata20315968 + (long) Marshal.SizeOf(typeof(PropertyItemInternal))20315968;
                                  local1++;
                                  }
                                  return local0;
                                  }


                                  She's so dirty, she threw a boomerang and it wouldn't even come back.

                                  K 1 Reply Last reply
                                  0
                                  • S Stephane Rodriguez

                                    Here is the PropertyItem internal :

                                    public System.Drawing.Imaging.PropertyItem[] get_PropertyItems() {
                                    int local0;
                                    int local1;
                                    int local2;
                                    IntPtr local3;
                                    System.Drawing.Imaging.PropertyItem[] local4;

                                    local2 = SafeNativeMethods.GdipGetPropertyCount(this.nativeImage, local1);
                                    if (local2 != 0)
                                    	throw SafeNativeMethods.StatusException(local2);
                                    local2 = SafeNativeMethods.GdipGetPropertySize(this.nativeImage, local0, local1);
                                    if (local2 != 0)
                                    	throw SafeNativeMethods.StatusException(local2);
                                    if (local0 == 0 || local1 == 0)
                                    	return new PropertyItem\[0\];
                                    local3 = Marshal.AllocHGlobal(local0);
                                    local2 = SafeNativeMethods.GdipGetAllPropertyItems(this.nativeImage, local0, local1, local3);
                                    if (local2 != 0) {
                                    	Marshal.FreeHGlobal(local3);
                                    	throw SafeNativeMethods.StatusException(local2);
                                    }
                                    local4 = PropertyItemInternal.ConvertFromMemory(local3, local1);
                                    Marshal.FreeHGlobal(local3);
                                    GC.KeepAlive(this);
                                    return local4;
                                    

                                    }

                                    You can see the gdiplus calls. PropertyItemInternal.ConvertFromMemory :

                                    nternal static System.Drawing.Imaging.PropertyItem[] ConvertFromMemory(IntPtr propdata, int count) {
                                    System.Drawing.Imaging.PropertyItem[] local0;
                                    int local1;
                                    PropertyItemInternal local2;

                                    local0 = new PropertyItem\[checked((uint) count)\];
                                    local1 = 0;
                                    while (local1 < count) {
                                    	local2 = (PropertyItemInternal) UnsafeNativeMethods.PtrToStructure(propdata, typeof(PropertyItemInternal));
                                    	local0\[local1\] = new PropertyItem();
                                    	local0\[local1\].Id = local2.id;
                                    	local0\[local1\].Len = local2.len;
                                    	local0\[local1\].Type = local2.type;
                                    	local0\[local1\].Value = local2.Value;
                                    	propdata = 20315E582031596Cop\_Explicit20315970
                                    

                                    20315E582031596Cop_Explicit20315970
                                    propdata20315968 + (long) Marshal.SizeOf(typeof(PropertyItemInternal))20315968;
                                    local1++;
                                    }
                                    return local0;
                                    }


                                    She's so dirty, she threw a boomerang and it wouldn't even come back.

                                    K Offline
                                    K Offline
                                    Konstantin Vasserman
                                    wrote on last edited by
                                    #17

                                    Yes and here is my call stack:

                                    mscorlib.dll!System.Runtime.InteropServices.Marshal::Copy(__int32 source = 0, unsigned char[] destination = {Length=0},
                                    __int32 startIndex = 0, __int32 length = 0) + 0x26 bytes

                                    system.drawing.dll!System.Drawing.Imaging.PropertyItemInternal::get_Value() + 0x3d bytes

                                    system.drawing.dll!System.Drawing.Imaging.PropertyItemInternal::ConvertFromMemory(__int32 propdata = 1541584,
                                    __int32 count = 49) + 0x100 bytes

                                    system.drawing.dll!System.Drawing.Image::get_PropertyItems() + 0xe6 bytes

                                    Clearly 0 is being passed as an argument to Marshal::Copy(). There is some check is missing for IntPtr == null... Chris M. is going to ban us forever for posting all this programming stuff in the lounge... :-O

                                    S 1 Reply Last reply
                                    0
                                    • K Konstantin Vasserman

                                      I am sorry if this is the wrong place to post this question. I couldn't figure out what the best forum for it would be. I think that I've ran into a bug in .NET Framework and I would like to report it to MS together with some sample code and files. I cannot seem to figure out where to send this information. After clicking for a while thru all the microsoft.com "contact us" pages I am totally lost. Any help will be greatly appreciated. TIA. Kostya.

                                      C Offline
                                      C Offline
                                      Chris Maunder
                                      wrote on last edited by
                                      #18

                                      Try this[^]. Just send Nick all your bugs (VS.NET related, .NET framework related, your homework questions...). The more the merrier. cheers, Chris Maunder

                                      K C 2 Replies Last reply
                                      0
                                      • T Tim Smith

                                        Read Nick's Semicolon article. He talks about how to report bugs. Tim Smith "Programmers are always surrounded by complexity; we can not avoid it... If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather that part of the solution." Hoare - 1980 ACM Turing Award Lecture

                                        C Offline
                                        C Offline
                                        Christian Graus
                                        wrote on last edited by
                                        #19

                                        And it's pretty obvious that his article was needed, if support was so hard to find at the Microsoft site ( I don't know, I've never looked ) Christian Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

                                        1 Reply Last reply
                                        0
                                        • C Chris Maunder

                                          Try this[^]. Just send Nick all your bugs (VS.NET related, .NET framework related, your homework questions...). The more the merrier. cheers, Chris Maunder

                                          K Offline
                                          K Offline
                                          Konstantin Vasserman
                                          wrote on last edited by
                                          #20

                                          Thank you. Now, where are those homework questions I had... :)

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups