|
Hi,
I'm trying to determine whether there would be any real benefit in migrating from VS6 to VS.NET. The projects I'm working develop desktop apps (not web apps) in C++. We currently employ MFC (for GUI clients) and ATL (for COM+ servers) frameworks and interface with SQL Server 2000 DBs. I can see the benefit if I was developing web based applications, but I'm not seeing it for the types of products that we build.
Any thoughts?
Thx/
Steve
|
|
|
|
|
I don't see clearly the benefit. The .NET virtual machine is a totally $new environment$ to work with.
Moreover, even upgrading to VC++.NET is questionable : if you do a lot of GUIs, you'll certainly miss the class wizard (it has been replaced with a far less powerful stuff).
What VisualC++ .NET would bring you rather than features is the ability to work with both MFC/ATL and SQLServer all in the same tool.
How low can you go ? (MS rant)
|
|
|
|
|
__Stephane Rodriguez__ wrote:
if you do a lot of GUIs, you'll certainly miss the class wizard (it has been replaced with a far less powerful stuff).
What's the bet that something like ClassWizard will re-appear? Actually I don't know whether any of those add-in gurus will provide the functionality if MS don't.
Kevin
|
|
|
|
|
ATL/MFC have their own handfull of improvements in vs.net.
ATL Server is a new addition.
MFC/ATL share lots of classes.
Also the compiler offers improved performance benefits.
I guess its wise to compare the feature list and then asses the real benefits from them.
Cheers
Kannan
|
|
|
|
|
I really appreciate all of the responses; this certainly helps out. Regarding the ATL changes, I was lead to believe that Microsoft's whole COM paradigm has gone away in .NET; i.e., .NET development projects would not be employing COM/COM+ technologies. Is this true?
Thanks again for your insight,
Steve
|
|
|
|
|
Yes COM/COM+ is sent out of the door...no registry..no guids.
But you can use the existing COM code by COM Interop in .net, but you incur a bit of performance penalty for that since all of your COM calls has to be marshalled.As for as COM+ is concerned .net has its own namespace something in the line of EnterpriseServices where you can do lot of stuff which you do in COM+ but not sure whether it contains all the stuff of COM+ or only a subset of them.
HTH
Cheers
Kannan
|
|
|
|
|
As I understand it COM+ is still used under the hood. But I get the impression this is just transitional, i.e., until .NET covers all the functionality of COM+ natively (i.e., natively to .NET).
Kevin
|
|
|
|
|
If you generally distribute your apps over the internet, .NET is severly limiting your potential market due to the 22MB .net framework download.
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'm developing a firewall log monitoring application in C#
with the .NET framework, and I can't figure out something.
I'm trying to do a reverse lookup on an IP address. I
don't mean reverse lookup to a DNS entry. I'm looking to
find out the computer-name behind the IP address.
The only thing I can find that's remotely related is:
Dns.GetHostByName() and Dns.GetHostByAddress().
However,these methods deal with IPHost objects, which only
contain DNS or IP information -- nothing about computer-
name.
Does anyone have any idea how to get a computer-name from
an IP address in my C#/.NET application? Is there anything
in .NET that will accomplish this? If so, what is it? If
not, what can I call outside of .NET that I can
incorporate into my application?
Thanks!
|
|
|
|
|
machine name=host name.
this an IP protocol, not a windows one....
"When the only tool you have is a hammer, a sore thumb you will have."
|
|
|
|
|
I think the following on an ASP.NET or its associated codebehind page should solve your problem:
string userip = Request.ServerVariables["REMOTE_ADDR"].ToString();
string workstationname = System.Net.Dns.Resolve(userip).HostName.ToString();
The name of the machine accessing the webserver should be contained in the workstationname. However the firewall might put its name over there.
We are currently using a proxy called 'Squid Cache' and I observed the following type of header contains the IP Address of the client machine (that is mine), which is behind the proxy/firewall.
HTTP_X_FORWARDED_FOR
But the name of the machine behind the proxy might need a workaround though.
Deepak Kumar Vasudevan
|
|
|
|
|
Hi everybody
Using the previous version of Visual Studio when we would have to create a platform that will expose interfaces to front-end systems we would use configured COM+ components that would implement the IDispatch. What about the .NET approach? What if our project has nothing to do with internet and thus a Web service is not considered necessary. What type of approach we will use in such a case?
Thanks
Spiros Prantalos
|
|
|
|
|
I'll let .NET gurus explain things.
In the mean time, from what I can tell in short is that you can create COM components using the .NET framework using whatever language supported by this framework. You register assemblies (the result of .NET project files compilation) with the external regasm commandline.
The only visible difference with native COM components is seen in the registry : your inproc or localserver32 key will not point to YOUR dll or exe, but to mscoree.dll instead (bootstrap which hosts the CLR). In other words, the .NET run-time is required whenever you create COM components using .NET
Other than doing COM, the capabilities of .NET assemblies are not compatible with COM itself, but provide the same set of features, and better versioning btw, so if you are doing true .NET code, you actually don't need COM any longer.
I would stick with VC++ (VC++.NET) for COM components : redistribution issues are known and it is far lighter (.NET 1.1 run-time is 24MB).
My -0.5 cent.
How low can you go ? (MS rant)
|
|
|
|
|
When you used the 'e-mail this person' link, you didn't fill in your e-mail address so I can't reply via e-mail.
To answer your question, yes; to use the controls like that the end-user must have the .NET framework installed. That technique also only works in IE.
James
Sig code stolen from David Wulff
|
|
|
|
|
Thanks very much for your response.
(In fact I just wanted to make a Reply and have made a 'e-mail this person' by error.)
|
|
|
|
|
Hi,
Is there any way how to insert class derived from Windows.Forms.UserControl (or Control ) to Web page ?
I am not talking about Asp.Net and i do not want to use it.
(Asp.Net is great but i need to react to users input very fast without downloading web page again)
I mean something like inserting (ActiveX conctol or Java applet) in the Web page.
(I do not need to install this from web - everybody who will enter this page can have installed .Net framework and anything else).
Thanks
/* I'm sorry about my english but i hope you can understand this */
|
|
|
|
|
Tomas Petricek wrote:
mean something like inserting (ActiveX conctol or Java applet) in the Web page.
I suppose you could either go with the Java applet or an ActiveX control (which I believe you would probably do in ATL). Does this help. Regardless of whether or not the end user has the .NET Framework or not, this is not required for a client if it is a web page that is being viewed. ActiveX controls download as plugins to the IE browser only. Hope this helps.
Nick Parker
May your glass be ever full.
May the roof over your head be always strong.
And may you be in heaven half an hour before the devil knows you’re dead. - Irish Blessing
|
|
|
|
|
Yes it is possible, this code should do it (put it on your web page)
<object id="myCtl"
classid="http://www.mycode.Microsoft.com/mycode.dll#myClass"
</object> This requires that you create a class library and put the control named myClass in it. myCtl is a client side name so you can manipulate the control with script.
HTH,
James
Sig code stolen from David Wulff
|
|
|
|
|
Wow
This is exactly what i wanted
Than you
|
|
|
|
|
I like this!;P
But i have another little problem with this:
I don't know how to handle events of this control.
i know how to change properties of this using <param>:
<param name="Text" value="ButtonText">
or using JavaScript:
myCtl.Text='NewBtnTex';
But i do not know if i can handle events and (if it is possible) how to do it
Thank you
|
|
|
|
|
Google for "SimpleControl".
Then google for "Chris Sells", because he's written a few articles on this subject (MSDN and MSDN magazine) Also look at http://www.sellsbrothers.com/wahoo[^],
Make sure you know something about .Net code access security, permissions and codegroups, because you're gonna see security permission exceptions...
VictorV
|
|
|
|
|
When authoring custom controls it is possible to specify a custom (16x16) bitmap that will then be displayed for the control in the Toolbox. However, if you specify a file path (like @"C:\MyProject\resources\toolbox.bmp") it appears the VS.net looks for that file at the specified location at runtime rather than building the image into the control.
Obvioulsy after redistributing the control, the bitmap does not exist any more as they don't have the source code, or if they do they probably don't have it in the same location as the author.
How can I successfully specify a custom bitmap, but be able to redistribute the control?
Derek Lakin.
I wish I was what I thought I was when I wished I was what I am.
Salamander Software Ltd.
|
|
|
|
|
The easiest way to achieve this is to not bother using the ToolboxBitmap attribute and just include a bitmap in the project (at the same level) for each control named the same as the control class, i.e. MyControl.bmp for MyControl.cs.
Be sure to set the 'Build Action' to 'Embedded Resource' for the bitmaps.
Then the Toolbox will automatically use that image.
Derek Lakin.
I wish I was what I thought I was when I wished I was what I am.
Salamander Software Ltd.
|
|
|
|
|
Hey Folks,
I initaly posted this in the C# group but realised that this may be more appropiate here.
I have a few old (very handy) programs that I have written using perl and python that I want to port to C# just for the sake of doing it.
In one of the instances, I need to enumorate across a directory and get the the total size of the files in the directory. Using a simple "foreach" loop like:
<br />
long total = 0;<br />
...<br />
...<br />
foreach(FileInfo f in directory.GetFiles())<br />
{<br />
total += f.Lenght;<br />
}<br />
...<br />
...<br />
And I have to say that this is SLOW. When recursing medium to large directories it can take as much as 10x the time my perl and python programs take.
My guess is that it is due to fact that the call to the Length property is not so light-weight as one might think. So, the call inside the loop is killing me.
Has anybody else ran into this hiccup?
And, does anybody have any suggestions about how to design around this?
Any help would be appreciated
Many Thanks
Chris
|
|
|
|
|
Hi Folks
Is there any library , class or assembley in .NET framework by which to obtain free disk space of a hard drive?
What do you think about: System.Management.Management object?
Please guide me.
thanks
arash
Arash Afifi
Software Engineer
E-mail: afifi@sympatico.ca
|
|
|
|