Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Jeroen Frijters
I don't think what I said is wrong, but it would have been clearer if I had said: "there is no way (in verifiable code) to pass a reference between two different threads". You can consider a reference to be local to a thread. The fact that there might be two references (in different threads) to th

Re: [ADVANCED-DOTNET] Get a list of System DSNs in ADO.NET/C#?

2004-05-17 Thread Curt Hagenlocher
From: "Josh Blair" <[EMAIL PROTECTED]> > Does anyone know of a way to get a list of System ODBC Data sources in ADO.NET? > I see there is a SQLDataSources API call but was hoping to avoid Interop. I guess > that would work just fine though so if anyone has any samples, that would great too. If yo

[ADVANCED-DOTNET] Get a list of System DSNs in ADO.NET/C#?

2004-05-17 Thread Josh Blair
Hello, Does anyone know of a way to get a list of System ODBC Data sources in ADO.NET? I see there is a SQLDataSources API call but was hoping to avoid Interop. I guess that would work just fine though so if anyone has any samples, that would great too. Regards, Josh Blair SoftBrands, Inc. S

Re: [ADVANCED-DOTNET] Hosting WinForm User Controls in an ActiveX Container

2004-05-17 Thread David Garcia
Hi J... Do you happen to have any more info on this? Thanks in advance! Thx, David -Original Message- From: Unmoderated discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of J. Merrill Sent: Monday, May 17, 2004 1:03 PM To: [EMAIL PROTECTED] Subject: Re: [ADVANCED-DOT

Re: [ADVANCED-DOTNET] Hosting WinForm User Controls in an ActiveX Container

2004-05-17 Thread David Garcia
Thanks Chris... I'll check it out and let you know what I discover. Thx, David -Original Message- From: Unmoderated discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Chris Mullins Sent: Monday, May 17, 2004 12:44 PM To: [EMAIL PROTECTED] Subject: Re: [ADVANCED-DOT

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Marsh, Drew
In the interest of putting this to sleep, I think the only people who can answer why they made the design decision to go by-val instead of by-ref is the DirectX managed wrapper team. Perhaps you can find a direct channel to them. Do any of them have a weblog? I think what we're most likely going to

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Arlie Davis
Almost, but not quite. Instances of a value type can be hosted within a reference type, which is always allocated in the managed heap. Two threads can then access the same instance of a value type at the same time. However, nothing horrible can happen. -- arlie -Original Message- From:

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Arlie Davis
John Elliot writes: > I guess I meant 'strange' as in 'closed source, poorly > documented, "I didn't write it", etc.' (don't know much > about DirectX doco, so that's not a sledge as such). The DirectX docs are actually fairly decent. > Say for example I'm targeting the managed DirectX API, and

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Frans Bouma
Hi Arlie, > That's all nice and applicable to 3D programming, but it's > not really relevant. No matter how fancy your shaders are, > and how powerful your GPU is -- you will still need to > manipulate matrices in your app. I then assume you're not doing 3D programming? :) I mean: you

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Arlie Davis
It's an "empty structure" because it is a stub emitted by the managed C++ compiler. In other words, the Managed DirectX libraries are written in managed C++. This compiler has to emit *something* in the MSIL metadata that describes the types that the MDX libraries manipulate. _D3DMATRIX is clear

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Arlie Davis
That's all nice and applicable to 3D programming, but it's not really relevant. No matter how fancy your shaders are, and how powerful your GPU is -- you will still need to manipulate matrices in your app. Doing 3D in a managed language should not impose any undue / silly penalties, especially wh

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Arlie Davis
Microsoft.DirectX.Matrix is a 4x4 value type / struct, containing 16 elements, M11 through M44. System.Drawing.Drawing2D.Matrix is a very different class. It is a 3x3 matrix, and it is a reference class. This is because it is just a wrapper around a GDI+ pointer. I don't know what is behind tha

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Arlie Davis
That isn't my decision to make. Managed DirectX uses value types for Matrix and several other types. Overall, I agree with the decision. I'm certainly not going to waste my time rolling another managed interop layer for DirectX. -- arlie -Original Message- From: Unmoderated discussion

Re: [ADVANCED-DOTNET] Remoting Encryption

2004-05-17 Thread Ingo Rammer
Thanks, Matthew. ;-) Andy: you can also download the samples from http://www.apress.com/book/supplementDownload.html?bID=47&sID=374 In general however: this sink uses symmetric encryption which depends on manual (upfront, deployment-time) key exchanges. If you need a higher (aka "real") level of

Re: [ADVANCED-DOTNET] Remoting Encryption

2004-05-17 Thread Matthew Bagley
Covered quite nicely in Ingo Rammer's (excellent) Advanced .Net Remoting book. The book includes sample encrypted provider. -Original Message- From: Andy Smith [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 18, 2004 4:26 AM To: [EMAIL PROTECTED] Subject: [ADVANCED-DOTNET] Remoting Encryptio

Re: [ADVANCED-DOTNET] Adding IE WebControls to Toolbox

2004-05-17 Thread J. Merrill
The assembly you mention has the actual controls. The assembly that contains the "designer" elements for use in VS is called Microsoft.Web.UI.WebControls.Design Just in case you don't know -- the MSDN docn for these says [quote] Note: Microsoft® Internet Explorer WebControls are not curre

Re: [ADVANCED-DOTNET] Hosting WinForm User Controls in an ActiveX Container

2004-05-17 Thread J. Merrill
There was a thread earlier that concluded that the solution is to host the IE Browser control in your COM-based app, and use the WinForm user control inside that control. Does that make sense? At 11:07 AM 5/17/2004, David Garcia wrote (in part) [snip] >It appears that what is supported is the h

Re: [ADVANCED-DOTNET] Hosting WinForm User Controls in an ActiveX Container

2004-05-17 Thread Chris Mullins
There is an example of exactly what you're trying to do in the MMC library found at: http://sourceforge.net/projects/mmclibrary/ They have an ActiveX Forms Shim that hosts WinForms controls. The source code is all there, and is reasonable straightforward. Hope that helps. -- Chris Mullins ---

[ADVANCED-DOTNET] Remoting Encryption

2004-05-17 Thread Andy Smith
Does anyone know of any LIGHTWEIGHT encryption Remoting Sink that's out there (hopefully open source)? It's for our DMZ, we're using Remoting internally, and it does have outside client access, hence the need for encryption. But it's all very performance sensitive, hence the desire for it to be lig

[ADVANCED-DOTNET] Adding IE WebControls to Toolbox

2004-05-17 Thread Jon Guerin
I am trying to add the Internet Explorer Webcontrols to my Visual Studio.net ver. 2002. But when I select the assembly "Microsoft.Web.UI.WEbControls.dll" to add I get the message "There are no components in C:\...\Microsoft.Web.UI.WEbControls.dll that can be added to the toolbox. Has anyone t

Re: [ADVANCED-DOTNET] Create Type from the Assembly stored in the download cache ?

2004-05-17 Thread Rick Byers
I don't have experience doing this specific thing, so I can't necessarily tell you what the best approach is. However, I'd suggest you re-think the decision to use LoadFrom instead of Load. What resources were suggesting you use Assembly.LoadFrom? It has some advantages, but it introduces some c

Re: [ADVANCED-DOTNET] Thread pool and Lock issue

2004-05-17 Thread J. Merrill
If you are using the thread pool, you don't need to create any threads yourself. The thread pool will create threads (up to the maximimum) so that QueueUserWorkItem will usually either find or create a thread to use; only if you have more simultaneous work requests than the max # of threads wil

[ADVANCED-DOTNET] Hosting WinForm User Controls in an ActiveX Container

2004-05-17 Thread David Garcia
Folks... I'm having difficulty attempting to display a WinForm user control within the VS IDE Active X Control Test Container via an Active X OCX. I can display the WinForm user control directly within the test container and can execute its public methods. However, due to the nature of the problem

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Jeroen Frijters
John Elliot wrote: > Is there any safeguard in place that could catch this type of > thing? As long as you don't use "unsafe" code, there is no way to get in trouble with a ref to a struct (they are always local to one thread). Except, of course, by calling a native method that hangs on the point

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread John Elliot
>> Just thinking out loud, but might it have something to do >> with threading concerns? If I hand out a reference to >> something on my stack to a strange API how do I know that >> it will finish with it before my stack changes.. > >But it isn't a strange API. After all, presumably the Managed Dir

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Jeroen Frijters
John Elliot wrote: > >Now the question is, since SomeRandomBoxApi takes a pointer to a > >_D3DBOX (which is equivalent to a pointer to a Box), why pass in > >the Box by value? > > Just thinking out loud, but might it have something to do > with threading concerns? If I hand out a reference to som

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Jeroen Frijters
Frans Bouma wrote: > Ok, I see your point. > > It is indeed weird, I didn't notice that, my appologies. > If you look at Volume.LockBox() for example you see this: > > public GraphicsStream LockBox(Box box, LockFlags flags) > { > return this.LockBoxInternal(ref box, flags, 0); > } > > Indeed w

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread John Elliot
>Now the question is, since SomeRandomBoxApi takes a pointer to a >_D3DBOX (which is equivalent to a pointer to a Box), why pass in >the Box by value? Just thinking out loud, but might it have something to do with threading concerns? If I hand out a reference to something on my stack to a strange

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Frans Bouma
Ok, I see your point. It is indeed weird, I didn't notice that, my appologies. If you look at Volume.LockBox() for example you see this: public GraphicsStream LockBox(Box box, LockFlags flags) { return this.LockBoxInternal(ref box, flags, 0); } Indeed weird why the box has to be passed by valu

Re: [ADVANCED-DOTNET] Visibility of an array type and the element type

2004-05-17 Thread Jeroen Frijters
Stefan Holdermans wrote: > JF> I would argue that the behavior described by the original > JF> poster is in fact a bug. The spec says (part. I 8.5.3.1 > JF> Visibility Of Type): "The visibility of a type definer is the > JF> same as that for the type from which it was generated." (as I >

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Jeroen Frijters
Frans Bouma wrote: > Why is it irrelevant, if I may ask? It's irrelevant to the question that we were discussing (which was "why did MS design the Managed DirectX API like this?"). > Well, perhaps the answer lies somewhere in the reason why > D3DMATRIX is defined as: > [StructLayo

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Jeroen Frijters
Frans Bouma wrote: > Although there is one weird thing: > (and you know more on this than I do I think): the D3D structs are > redefined in these formats: > > [StructLayout(LayoutKind.Sequential, Size=24, Pack=1), > CLSCompliant(false), MiscellaneousBits(65), DebugInfoInPDB] > public struc

Re: [ADVANCED-DOTNET] Visibility of an array type and the element type

2004-05-17 Thread Stefan Holdermans
Hi all, JF> I would argue that the behavior described by the original JF> poster is in fact a bug. The spec says (part. I 8.5.3.1 JF> Visibility Of Type): "The visibility of a type definer is the JF> same as that for the type from which it was generated." (as I JF> understand it, an arra

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Frans Bouma
> Frans Bouma wrote: > > > > Because the DX api is a COM api, > > > > > > We're talking about the *Managed* DirectX API. So your entire > > > message doesn't make any sense. > > > > Erm, that api is a wrapper around DX COM. > > I know, but that's irrelevant. Why is it irrelevan

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Frans Bouma
> Frans Bouma wrote: > > Because the DX api is a COM api, > > We're talking about the *Managed* DirectX API. So your entire > message doesn't make any sense. Although there is one weird thing: (and you know more on this than I do I think): the D3D structs are redefined in these formats:

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Jeroen Frijters
Frans Bouma wrote: > > > Because the DX api is a COM api, > > > > We're talking about the *Managed* DirectX API. So your entire > > message doesn't make any sense. > > Erm, that api is a wrapper around DX COM. I know, but that's irrelevant. > For the main logic it calls into the COM ob

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Frans Bouma
> Frans Bouma wrote: > > Because the DX api is a COM api, > > We're talking about the *Managed* DirectX API. So your entire > message doesn't make any sense. Erm, that api is a wrapper around DX COM. For the main logic it calls into the COM objects. Try f.e. to decompile the Direct3D Bas

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Jeroen Frijters
Frans Bouma wrote: > Because the DX api is a COM api, We're talking about the *Managed* DirectX API. So your entire message doesn't make any sense. Regards, Jeroen === This list is hosted by DevelopMentor® http://www.develop.com Some .NET courses you may be inter

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Frans Bouma
> Taken > > But in this particular case, being heavy matrix opreations in > 3d, this kills your performance. If you want performance, write a shader and do your matrix manipulations on the GPU or call into a C++ matrix lib. I also don't really see why classes would kill performance reall

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Thomas Tomiczek
Taken But in this particular case, being heavy matrix opreations in 3d, this kills your performance. Purity is nice, but here we talk of criticals, too. Thomas Tomiczek THONA Software & Consulting Ltd. (Microsoft MVP C#/.NET) (CTO PowerNodes Ltd.) > -Original Message- > From: Unmoderat

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Frans Bouma
> I think the main issue here is that teh DirectX API (which > this was about in the beginning) does not pass the structy by ref. > > Looks like a tremendous oversight to me. > > The rest then is basically a logical extension of standard > .NET semantics (structs copied onto stack) and not per

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Thomas Tomiczek
I think the main issue here is that teh DirectX API (which this was about in the beginning) does not pass the structy by ref. Looks like a tremendous oversight to me. The rest then is basically a logical extension of standard .NET semantics (structs copied onto stack) and not perfect optimizat

Re: [ADVANCED-DOTNET] Large structures

2004-05-17 Thread Reali Patrik René Celeste
Jeroen Frijters wrote: > Arlie Davis wrote: > > Or does it ever simply pass a pointer to the structure? > > In theory it could do this optimization in some cases, but I > don't think > it is likely that they'll do it in practice. If you want to pass large > structures, you can always pass them by r

Re: [ADVANCED-DOTNET] Thread pool and Lock issue

2004-05-17 Thread Heath Ryan
Hi Dinesh, It is a bit hard to see what going on but I'll give it a shot... You wrote: Keep in invoking Collector ( CollectAdapterMessages) Does this mean that you are repeatly invoking CollecterAdapterMessages? If so, than this can be the reason why ReceiveAllMessages creates more than 1 threa