|
|
I want to know the deep down of application domain. Any article on that? or if anybody knows about it
@ish@
|
|
|
|
|
Hi
Sorry I dont have a lnk but Eric Gunnerson (from MSFT) has written 2 articles on AppDomain's. Have a look on MSDN...(about May, called Super Graphing Calculator or something)
Cheers
"I dont have a life, I have a program."
|
|
|
|
|
Ok thanks, i will try to search for it
@ish@
|
|
|
|
|
I am writing a shell namespace extension for XP (in C#) and have run into some troubles.
I am successful in creating a shell folder and shell view, but once I start working with sub-folders, all falls apart.
I get a call into EnumObjects successfully, but when I return I get:
Unhandled exception at 0x76a6ebf7 (shdocvw.dll) in explorer.exe:
0xC0000005: Access violation reading location 0x80004005.
Here is how I define EnumObjects:
[PreserveSig()]<br />
uint EnumObjects(IntPtr hwnd, SHCONTF grfFlags, out System.IntPtr<br />
ppenumIDList);<br />
Here is the code:
<br />
CTWShellEnum eList = new CTWShellEnum()<br />
ppenumIDList = Marshal.GetComInterfaceForObject(eList,<br />
typeof(IEnumIDList));<br />
return CTWShellConstants.S_OK;<br />
I never get a call into IEnumIDList.Next (which is what I expect to be the next call)
Here is my IEnumIDList definition:
<br />
public interface IEnumIDList {<br />
[PreserveSig()]<br />
uint Next(<br />
int celt,<br />
[MarshalAs(UnmanagedType.LPArray), Out] out IntPtr[] rgelt,<br />
out int pceltFetched);<br />
<br />
[PreserveSig()]<br />
uint Skip(int celt);<br />
<br />
[PreserveSig()]<br />
uint Reset();<br />
<br />
[PreserveSig()]<br />
uint Clone(out System.IntPtr ppenum);<br />
}<br />
Any insight or information from others who have successfully implemented will be greatly appreciated.
Thanks
-Bill
|
|
|
|
|
|
Oh great. So now we can program for the inferior beings.
Seriously though, it was only a matter of time before it was ported from FreeBSD to OSX because the latter has FreeBSD underpinnings.
You will now find yourself in a wonderous, magical place, filled with talking gnomes, mythical squirrels, and, almost as an afterthought, your bookmarks
-Shog9 teaching Mel Feik how to bookmark
I don't know whether it's just the light but I swear the database server gives me dirty looks everytime I wander past.
-Chris Maunder
|
|
|
|
|
David Stone wrote:
OSX because the latter has FreeBSD underpinnings.
Just curious but how does the whole Unix, Mac OSX, FreeBSD and Linux world relate? How different are they to each other?
Paul Watson Bluegrass Cape Town, South Africa Ray Cassick wrote: Well I am not female, not gay and I am not Paul Watson
|
|
|
|
|
When Steve Jobs left Apple, he went to NeXt..creators of the Windowing system for FreeBSD. So when he came back to Apple, he incorporated FreeBSD into the MacOS. Also, the OSX themes look a lot like NeXtStep's do...
You will now find yourself in a wonderous, magical place, filled with talking gnomes, mythical squirrels, and, almost as an afterthought, your bookmarks
-Shog9 teaching Mel Feik how to bookmark
I don't know whether it's just the light but I swear the database server gives me dirty looks everytime I wander past.
-Chris Maunder
|
|
|
|
|
What is there for GUI applications?
MacForms?
|
|
|
|
|
To my knowledge the SSCLI doesn't contain anything for GUI applications nor Data access. I imagine with the SSCLI supporting OS X its only a matter of time before some people get together and create something.
James
- out of order -
|
|
|
|
|
For any application developed in C#, it is necessary to have .NET redistributable installed on the target machine otherwise the application will not run.
I've heard that the size of .NET redistributable is about 25 MB and of course it is necessary to include it with our setup program no matter how small our application is.
Is it possible that the size of redistributable that we provide is less than 25 MB, just including only those dependencies that are utilized by our samall appication ????
|
|
|
|
|
No. Because the Common Language Runtime needs to be there...plus all the base classes in the framework. So you have to ship the entire thing with your app.
You will now find yourself in a wonderous, magical place, filled with talking gnomes, mythical squirrels, and, almost as an afterthought, your bookmarks
-Shog9 teaching Mel Feik how to bookmark
I don't know whether it's just the light but I swear the database server gives me dirty looks everytime I wander past.
-Chris Maunder
|
|
|
|
|
This is a huge problem with .NET
If you're a small company and generally don't distribute your apps on CD, .NET is severly limiting your potential market.
I've managed to compile C++ 6.0 using Studio.NET and the final exe does not require the 22MB framework but I have been unsuccessful with VB.net
I agree that EVENTUALLY, everyone will have the framework installed, but untill then, would you download a 22.1MB application or a 100Kb application?
Rick Eastes.
http://www.eastes.net
|
|
|
|
|
I try to read the ActiveDirectory with DirectoryEntry an DirectoySearcher Class.
Can someon tell me how to read all Users of the ActiveDirectory.
|
|
|
|
|
When I do a webservice that has a soap element declared as int, the soap serialization attributed zero for it, if I don't pass him in the soap message.
Anybody knows how can I change the default value? Or avoid the serializtion attributed zero for the variable.
I was making my webservice in C#.
Thanks.
|
|
|
|
|
I use the code described below to one-way hash a supplied user's password to verify it against the one-way hashed password stored in a database.
While the code works and provides the functionality I am looking for I am not convinced that it does it in the quickest/most elegant/most sensible/safest way.
Any ideas for improvement?
char[] password = new char[50];
System.IO.StringReader reader = new System.IO.StringReader(this.textBoxPassword);
reader.Read(password, 0, 50);
byte[] bPassword = new byte[50];
for(int i = 0; i < 50; i++)
{
bPassword[i] = (byte)password[i]);
}
System.Security.Cryptography.SHA1 shaM = new System.Security.Cryptography.SHA1Managed();
byte[] hash = shaM.ComputeHash(bPassword);
char[] cHash = new char[hash.Length];
for(int i = 0; i < hash.Length; i++)
{
cHash[i] = (char)hash[i];
}
string hashword = new string(cHash);
|
|
|
|
|
I understand your pain.
There's a conceptual error here: you are assuming a byte is a char. This is only true in ASCII Encoding.
For the first for loop, check the System.Text.Encoding classes.
For the second for loop, I would use a Convert.ToBase64String to assure you'll not generate "weird" chars, although the resulting string will grow 33%.
lazy isn't my middle name.. its my first.. people just keep calling me Mel cause that's what they put on my drivers license. - Mel Feik
|
|
|
|
|
This is the way I'd do it:
System.Security.Cryptography.SHA1 shaM = new System.Security.Cryptography.SHA1Managed();
byte[] hash = shaM.ComputeHash(System.Text.UTF8Encoding.UTF8.GetBytes(bPassword));
string hashedPassword = System.Convert.ToBase64String(hash)
|
|
|
|
|
Is there a .NET equivalent to subclassing controls in a dialog box as on the Win32 side of things? I need a little more control over a textbox than the standard .NET API allows.
"Any clod can have the facts, but having opinions is an art."
Charles McCabe, San Francisco Chronicle
|
|
|
|
|
Create a new class inheriting from TextBox, add your functionality, then use that class on your Form.
Or use event handlers attached to a TextBox, but this is only good for having the TextBox do additional work, not change/stop the work it does.
James
- out of order -
|
|
|
|
|
Thanks. I've actually done that, but it does not represent a complete solution for what I am trying to achieve.
The form still owns the control and defines it's behavior. So, for example, even if I override the TextBox's OnPaint method and attempt to use the Graphics object to draw in the client area of the text box - the form's default behavior still overrides what I want the control to do.
The only way I am aware of to gain ownership of a control is to actually subclass it so that I can control its internal behavior - as commonly done in Win32.
"Any clod can have the facts, but having opinions is an art."
Charles McCabe, San Francisco Chronicle
|
|
|
|
|
Stan Shannon wrote:
The form still owns the control and defines it's behavior. So, for example, even if I override the TextBox's OnPaint method and attempt to use the Graphics object to draw in the client area of the text box - the form's default behavior still overrides what I want the control to do.
(I may not understand your situation right so this may not be what you are asking)
Then you need to override the Paint member inside your inhereted control.
e.g. In my CP+ app I did the following to provide a underlined look on DataGrid cells (this is C# but should be easy enough for other languages):
First I inhereted the DataGridTextBoxColumn (subclass I assume):
public class DataGridLinkColumn : DataGridTextBoxColumn
then I overrode the Paint event:
protected override void Paint(Graphics g,Rectangle Bounds,CurrencyManager Source,int RowNum, Brush BackBrush ,Brush ForeBrush ,bool AlignToRight)
{
g.FillRectangle(BackBrush, Bounds.X, Bounds.Y, Bounds.Width, Bounds.Height);
FontStyle fstylNew = new FontStyle();
fstylNew = FontStyle.Underline;
System.Drawing.Font font = new Font(System.Drawing.FontFamily.GenericSansSerif , (float)8.25, fstylNew);
g.DrawString( GetColumnValueAtRow(Source, RowNum).ToString(), font ,Brushes.Blue ,Bounds.X ,Bounds.Y );
}
Is that what you are looking for?
Paul Watson Bluegrass Cape Town, South Africa Ray Cassick wrote: Well I am not female, not gay and I am not Paul Watson
|
|
|
|
|
Thanks, Paul. With the TextBox, even when "subclassed", the Paint event handler is never called. I assume this is because the parent class (in the windows sense) is processing the message via the parent Form.
I found a work-around, but to me this is just another example of why .NET is not yet an optimum development environment.
"Any clod can have the facts, but having opinions is an art."
Charles McCabe, San Francisco Chronicle
|
|
|
|
|
You can override the WndProc function and intercept WM_PAINT. By overriding WndProc IMHO you should be able to do everything you could by Win32 subclassing.
Cheers
HTH
Martin
"Situation normal - all fu***d up"
Illuminatus!
|
|
|
|