From: Willem van Rumpt on 21 May 2010 15:24 On 21-5-2010 21:04, Steve Ricketts wrote: > > namespace Velocedge.CADE.Video.VLC > { > public class clsVideoVLC<PlayStateArgs> : IVideo You don't want to define a generic clsVideoVLC<PlayStateArgs> class, you want to define a clsVideoVLC class. This should be: public class clsVideoVLC : IVideo > public event EventHandler PlayStateEvent; This should be defined as public event EventHandler<PlayStateArgs> PlayStateEvent; The entire definition of clsVideo should look like this: public class clsVideoVLC : IVideo { public clsVideoVLC () { } #region playState Event protected virtual void onPlayStateEvent(PlayStateArgs e) { EventHandler<PlayStateArgs> handler = PlayStateEvent; if (handler != null) { handler(this, e); } } public void doPlayState(string strData) { PlayStateArgs e = new PlayStateArgs(strData); onPlayStateEvent(e); } #endregion public event EventHandler<PlayStateArgs> PlayStateEvent; } Depending if you have the right "using" statement on top or not, "PlayStateArgs" and "IVideo" may need to be prepended with the full namespace: "Velocedge.CADE.Video." -- Willem van Rumpt
From: Steve Ricketts on 21 May 2010 16:44 Man, I really apologize for taking so much of your time to help such an obvious dunce. As you have probably guessed by your comments on namespaces, they were a problem. I'm getting killed by them... In the interface class I was using Velocedge.CADE.Video In the clsVideoVLC class I was using Velocedge.CADE.Video.VLC On the statement "public class clsVideoVLC : IVideo" It gives me "type or namespace IVideo could not be found" So, I change it to "public class clsVideoVLC : Velocedge.CADE.Video.IVideo" and after the last "." it shows "IVideo" so I think I'm good. But, it gives me "type or namespace IVideo does not exist in the namespace Velocedge.CADE.Video". Ok, I give up on fancy namespaces and change all namespaces to Velocedge.CADE. Only now I get "type or namespace IVideo does not exist in the namespace Velocedge.CADE" regardless whether I use IVideo or Velocedge.CADE.IVideo Sorry... "Willem van Rumpt" <wdotvandotrumpt(a)skoutsoftdotcom> wrote in message news:eXYuGtR#KHA.5524(a)TK2MSFTNGP05.phx.gbl... > On 21-5-2010 21:04, Steve Ricketts wrote: > >> >> namespace Velocedge.CADE.Video.VLC >> { >> public class clsVideoVLC<PlayStateArgs> : IVideo > > You don't want to define a generic clsVideoVLC<PlayStateArgs> class, > you want to define a clsVideoVLC class. This should be: > > public class clsVideoVLC : IVideo > >> public event EventHandler PlayStateEvent; > > This should be defined as > public event EventHandler<PlayStateArgs> PlayStateEvent; > > The entire definition of clsVideo should look like this: > > public class clsVideoVLC : IVideo > { > > public clsVideoVLC () > { > } > > #region playState Event > protected virtual void onPlayStateEvent(PlayStateArgs e) > { > EventHandler<PlayStateArgs> handler = PlayStateEvent; > if (handler != null) > { > handler(this, e); > } > } > public void doPlayState(string strData) > { > PlayStateArgs e = new PlayStateArgs(strData); > onPlayStateEvent(e); > } > #endregion > > public event EventHandler<PlayStateArgs> PlayStateEvent; > } > > Depending if you have the right "using" statement on top or not, > "PlayStateArgs" and "IVideo" may need to be prepended with the full > namespace: > "Velocedge.CADE.Video." > > -- > Willem van Rumpt
From: Steve Ricketts on 22 May 2010 08:32 Ok, forget that last post... somehow I finally got the clsVideoVLC (namespace Velocedge.CADE.Video.VLC) and clsVideo (namespace Velocedge.CADE.Video) to build. So, then I tried to use them in a test program (.exe). I added both .dll's as references and included the two using directives: using Velocedge.CADE.Video; using Velocedge.CADE.Video.VLC; However, I'm getting "The type or namespace 'VLC' does not exist in the namespace 'Velocedge.CADE.Video'. So, does that mean I need some sort of namespace reference to VLC within my clsVideo (Velocedge.CADE.Video) class? sr "Steve Ricketts" <velocedge(a)hotmail.com> wrote in message news:emfjlZS#KHA.3176(a)TK2MSFTNGP05.phx.gbl... > Man, I really apologize for taking so much of your time to help such an > obvious dunce. As you have probably guessed by your comments on > namespaces, they were a problem. I'm getting killed by them... > > In the interface class I was using Velocedge.CADE.Video > In the clsVideoVLC class I was using Velocedge.CADE.Video.VLC > > On the statement "public class clsVideoVLC : IVideo" > > It gives me "type or namespace IVideo could not be found" > > So, I change it to "public class clsVideoVLC : > Velocedge.CADE.Video.IVideo" and after the last "." it shows "IVideo" so I > think I'm good. > > But, it gives me "type or namespace IVideo does not exist in the namespace > Velocedge.CADE.Video". > > Ok, I give up on fancy namespaces and change all namespaces to > Velocedge.CADE. > > Only now I get "type or namespace IVideo does not exist in the namespace > Velocedge.CADE" regardless whether I use IVideo or Velocedge.CADE.IVideo > > Sorry... > > > > > "Willem van Rumpt" <wdotvandotrumpt(a)skoutsoftdotcom> wrote in message > news:eXYuGtR#KHA.5524(a)TK2MSFTNGP05.phx.gbl... >> On 21-5-2010 21:04, Steve Ricketts wrote: >> >>> >>> namespace Velocedge.CADE.Video.VLC >>> { >>> public class clsVideoVLC<PlayStateArgs> : IVideo >> >> You don't want to define a generic clsVideoVLC<PlayStateArgs> class, >> you want to define a clsVideoVLC class. This should be: >> >> public class clsVideoVLC : IVideo >> >>> public event EventHandler PlayStateEvent; >> >> This should be defined as >> public event EventHandler<PlayStateArgs> PlayStateEvent; >> >> The entire definition of clsVideo should look like this: >> >> public class clsVideoVLC : IVideo >> { >> >> public clsVideoVLC () >> { >> } >> >> #region playState Event >> protected virtual void onPlayStateEvent(PlayStateArgs e) >> { >> EventHandler<PlayStateArgs> handler = PlayStateEvent; >> if (handler != null) >> { >> handler(this, e); >> } >> } >> public void doPlayState(string strData) >> { >> PlayStateArgs e = new PlayStateArgs(strData); >> onPlayStateEvent(e); >> } >> #endregion >> >> public event EventHandler<PlayStateArgs> PlayStateEvent; >> } >> >> Depending if you have the right "using" statement on top or not, >> "PlayStateArgs" and "IVideo" may need to be prepended with the full >> namespace: >> "Velocedge.CADE.Video." >> >> -- >> Willem van Rumpt >
From: Peter Duniho on 22 May 2010 13:49
Steve Ricketts wrote: > Ok, forget that last post... somehow I finally got the clsVideoVLC > (namespace Velocedge.CADE.Video.VLC) and clsVideo (namespace > Velocedge.CADE.Video) to build. So, then I tried to use them in a test > program (.exe). I added both .dll's as references and included the two > using directives: > > using Velocedge.CADE.Video; > using Velocedge.CADE.Video.VLC; > > However, I'm getting "The type or namespace 'VLC' does not exist in the > namespace 'Velocedge.CADE.Video'. So, does that mean I need some sort > of namespace reference to VLC within my clsVideo (Velocedge.CADE.Video) > class? That depends on where you're getting the error. Each assembly needs a reference to whatever other assembly contains types it uses. The error is telling you literally what it says. The namespace doesn't exist, as far as is known when compiling that assembly. That can happen because it really doesn't exist, because there are no public types in the namespace, or because you have failed to reference as assembly that contains public types in that namespace. Without more specific information from you (i.e. the exact code, what DLLs that code exists in, and which assembly you're compiling when the error occurs), there's not much else that can be said. It's a pretty straightforward error. Pete |