|
I want to call HtmlHelp API function. I include the .h file and specify the incluce and libary directories. Howerver, it continuous give this error "error C2660: 'CWnd::HtmlHelpA' : function does not take 4 arguments".
|
|
|
|
|
I have a C# windows service that depends on time comparisons that is encountering problems due to the time zone on the machine being changed. Unfortunately, this time zone change is outside of my control. I use the TimeZone.CurrentTimeZone.ToUniversalTime() and TimeZone.CurrentTimeZone.GetUtcOffset() methods to make sure all my times are converted and compared as UTC. The problem is that TimeZone.CurrentTimeZone is not updating when the machine's time zone has changed. You can reproduce this easily by creating a console app with the following lines of code, and manually changing your machine's time zone during the app's pause.
Console.WriteLine("Current time zone is {0}.", TimeZone.CurrentTimeZone.StandardName);<br />
Console.Write("Waiting for time zone change. Hit 'Enter' to continue ...");<br />
Console.ReadLine();
Console.WriteLine("Current time zone is {0}.", TimeZone.CurrentTimeZone.StandardName);
Does anyone have any idea about how to refresh or update the TimeZone.CurrentTimeZone? Thanks!
|
|
|
|
|
I think I found a work-around, but I don't fully like it. If I call the GetSystemTime WinAPI function, it seems to always return the correct UTC time.
I got some decent sample code from Anson Goldade's GotDotNet user sample to nicely encapsulate the API calls. Too bad Microsoft's framework methods don't call the API correctly.
|
|
|
|
|
The problem is that the CurrentTimeZone property caches the result for the lifetime of the AppDomain , so you won't see any changes until your AppDomain is restarted.
The simplest option is to use reflection to create a new instance of the internal CurrentSystemTimeZone class. The following code will cache the current time zone for 5 minutes, and allow you to manually refresh the time zone as well:
using System;
using System.Reflection;
public sealed class CurrentTimeZone
{
private const int RefreshAfterMinutes = 5;
private static readonly object _lockMe = new object();
private static readonly Type _timeZoneType;
private static readonly ConstructorInfo _timeZoneConstructor;
private static TimeZone _instance = TimeZone.CurrentTimeZone;
private static DateTime _instanceCreated = DateTime.UtcNow;
static CurrentTimeZone()
{
_timeZoneType = TimeZone.CurrentTimeZone.GetType();
_timeZoneConstructor = _timeZoneType.GetConstructor(
BindingFlags.Instance | BindingFlags.NonPublic,
null, new Type[0], null);
}
private static TimeZone CreateInstance()
{
return (TimeZone)_timeZoneConstructor.Invoke(null);
}
private static void UpdateIfStale()
{
TimeSpan age = _instanceCreated - DateTime.UtcNow;
if (age.TotalMinutes > RefreshAfterMinutes)
{
_instance = CreateInstance();
_instanceCreated = DateTime.UtcNow;
}
}
public static TimeZone Instance
{
get
{
lock(_lockMe)
{
UpdateIfStale();
return _instance;
}
}
}
public static void Refresh()
{
lock(_lockMe)
{
_instance = CreateInstance();
_instanceCreated = DateTime.UtcNow;
}
}
}
All you need to do is replace each instance of TimeZone.CurrentTimeZone with CurrentTimeZone.Instance , and you should see the changes within 5 minutes.
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
|
|
|
|
|
Unfortunately, I need to know the time zone at the exact moment that the code runs, and even 5 minutes late could cause issues.
Anyway, while it's pretty cool, do you really think that your class is the simplest way to fix the problem when you can just call the GetSystemTime API?
|
|
|
|
|
If you just need the current UTC system time, you can simply call DateTime.UtcNow , which will return the same time as calling the GetSystemTime API.
From your initial post, it sounded like you need the current time zone information as well, in which case the code I posted will be the simplest solution.
If you want the current time zone information without any caching, you can simply remove the caching code and always return a new instance:
using System;
using System.Reflection;
public sealed class CurrentTimeZone
{
private static readonly Type _timeZoneType;
private static readonly ConstructorInfo _timeZoneConstructor;
static CurrentTimeZone()
{
_timeZoneType = TimeZone.CurrentTimeZone.GetType();
_timeZoneConstructor = _timeZoneType.GetConstructor(
BindingFlags.Instance | BindingFlags.NonPublic,
null, new Type[0], null);
}
private static TimeZone CreateInstance()
{
return (TimeZone)_timeZoneConstructor.Invoke(null);
}
public static TimeZone Instance
{
get { return CreateInstance(); }
}
}
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
|
|
|
|
|
Thanks, this code will be very useful to me.
However, I just want to point out that in my tests DateTime.UtcNow doesn't return the correct time because of the time zone caching. You can try it yourself by using a test similar to the first one I posted.
|
|
|
|
|
That's very strange. The DateTime.UtcNow property simply calls the GetSystemTimeAsFileTime API to get the current UTC system time. There is no caching involved, so the result should be the same as calling the GetSystemTime API directly.
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
|
|
|
|
|
hey guys!
sorry about my english..
======== the context:
- one WebService "A", where the IIS directory security has only the "Windows Integrated Authentication" enable, and authentication mode is "Windows" on web.config.
- IIS Version 5.1
- one WindowsApplication "B", to call some methods from the WebService "A".
- the user running the WinApp "A", belongs to Administrator Group on both machines ("A" app Machine, and "B" app Machine). User account is the same in both places. this will never change...
- I always need to set the Credentials of my proxy obj before call any webMethod (this happen on "B" app)
======== the problem:
- is kind boring, ask for user insert the UserName, Password and Domain all the time, rigth?!
so, is possible set at runtime this informations, wihtout user interactions?
or some way to set anything on web.config or IIS to workaround this problem?
.. I search how build the Credentials dynamically, I can get the current userName and Domain, but what about the password??
any tip will be great!
thanks!
João Paulo Melo
southBrazil
blitzkrieg bop!!
-- modified at 14:15 Thursday 1st September, 2005
|
|
|
|
|
I do a auction system.this software use CS architectur.The client use tcp to communicate with the server.Now I met a question that the firewall refuse the tcp connection of the listening port.I want to look for a appropriate solution in dot net framework which can resolve this problem.
More over,I plan to development an activex control to work together with the client.This activex control has same functions as the client.As so,the communication solution base on a standard specificat maybe needed (such as webservice).It supports the client and avtivex communicate with the server in the same way.But i am afraid that webservice can't satisfy capability requirement.This system require Quote action complete in 500ms.300 sessions in the same time.
want to get your advices.thanks all.
|
|
|
|
|
A properly designed web service should be more then capable of handling the load you are talking about. With current hardware you shouldn't even need more then one server. As long as your transaction system can handle the load, putting a web service interface in place shouldn't add more then tens of milliseconds to the transaction, and shouldn't add any scalablilty bottlenecks.
I've dealt with webservices handling sub 100ms response time with 5000+ concurrent "sessions" with 3 year old hardware. Since there wasn't a lot of procesing on the web service layer the database server determined performance to a greater extent.
I can imagine the sinking feeling one would have after ordering my book,
only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
-- modified at 23:55 Wednesday 31st August, 2005
|
|
|
|
|
Thank you!
I am sorry I forgot to explain an important factor.When a client quote a new price other clients must get it rapidly.So the clients must check the new price frequently.About every 200ms 1 times.
I want to know the capability in this case.
|
|
|
|
|
In general the true bottlenecks on any system are the network, memory and processor constraints of the systems that your application is running on. What I am saying is that in my experience the .net web service implementation adds a fixed transactional cost based on adding a small amount of processor and memory time and extra message size. You need to test and do a comparison to see if the overhead is too high, but there isn't anything in principle which slow the system down below what you need.
However if your system is already close to the numbers you need then the additional overhead might push you over. The only way to really tell is test.
I can imagine the sinking feeling one would have after ordering my book,
only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
|
|
|
|
|
I am currently working on a phase whose task is to extract each and every frame from an AVI Movie,save it onto Bitmap object and process it.I am doing this task in WEB FORM APPLICATIONS( VISUAL C++ PROJECTS) which is in 1.1 Framework.In visual C++ there is vfw32.lib which serves the purpose.Is there any way to use that lib here.IF there is then how?Or any other library can be used to do the same task?
|
|
|
|
|
Hi all,
I've built a Windows Service wich accepts arguments in the main function so I can execute the exe like MyWindowsServ.exe –install .
I can install the service, I can run it, and everything runs ok.
Now, what I wanted to do was to install the service so when it starts it can take some arguments as well.
If you look at the COM+ Event System service properties (for instance) in your control panel, you can see that the path to executable is something like this C:\WINDOWS\system32\svchost.exe -k netsvcs
Is there a way I can add these arguments to my ProcessInstaller or ServiceInstaller or something like that?
Thanks,
vSoares
|
|
|
|
|
Hi all,
I am new to Pocket PC world.I am working in Pocket PC windows application using C#.NET.I am developing the application similar to MS Paint.I want to do CUT/Copy/Paste,Setting transparency,background every thing.If there is any 3rd party control to serve this purpose.
If so please let me know.
If any body knews coding in C#.Net(For Pocket PC) to do the above mentioned functionalities.Please let me knew.It is very helpfull for me.Thanx in advance.
Regards,
S.Sevugan.
|
|
|
|
|
although I can not help you for this ,but still give your best regards and hope to get this knowledge too.
|
|
|
|
|
The problem is, code does not detected telephone tones(telephone button press).Language is vb.net.
Code is::
Imports TAPI3Lib<br />
Imports SpeechLib<br />
Public Class Form1<br />
Inherits System.Windows.Forms.Form<br />
<br />
#Region " Windows Form Designer generated code "<br />
<br />
Public Sub New()<br />
MyBase.New()<br />
<br />
'This call is required by the Windows Form Designer.<br />
InitializeComponent()<br />
initializetapi3()<br />
'Add any initialization after the InitializeComponent() call<br />
<br />
End Sub<br />
Sub initializetapi3()<br />
m_TAPI.Initialize()<br />
'oTAPI = m_TAPI<br />
cn = New notification<br />
AddHandler m_TAPI.ITTAPIEventNotification_Event_Event, New TAPI3Lib.ITTAPIEventNotification_EventEventHandler(AddressOf cn.sEvent)<br />
<br />
End Sub<br />
<br />
'Form overrides dispose to clean up the component list.<br />
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)<br />
m_TAPI.Shutdown()<br />
If disposing Then<br />
If Not (components Is Nothing) Then<br />
components.Dispose()<br />
End If<br />
End If<br />
MyBase.Dispose(disposing)<br />
End Sub<br />
<br />
'Required by the Windows Form Designer<br />
Private components As System.ComponentModel.IContainer<br />
<br />
'NOTE: The following procedure is required by the Windows Form Designer<br />
'It can be modified using the Windows Form Designer. <br />
'Do not modify it using the code editor.<br />
Friend WithEvents Button1 As System.Windows.Forms.Button<br />
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()<br />
Me.Button1 = New System.Windows.Forms.Button<br />
Me.SuspendLayout()<br />
'<br />
'Button1<br />
'<br />
Me.Button1.Location = New System.Drawing.Point(144, 64)<br />
Me.Button1.Name = "Button1"<br />
Me.Button1.Size = New System.Drawing.Size(104, 40)<br />
Me.Button1.TabIndex = 0<br />
Me.Button1.Text = "answer"<br />
'<br />
'Form1<br />
'<br />
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)<br />
Me.ClientSize = New System.Drawing.Size(292, 273)<br />
Me.Controls.Add(Me.Button1)<br />
Me.Name = "Form1"<br />
Me.Text = "Form1"<br />
Me.ResumeLayout(False)<br />
<br />
End Sub<br />
<br />
#End Region<br />
<br />
<br />
Private MediaAudio As Integer<br />
Private MediaModem As Integer = 24<br />
Private MediaFax As Integer<br />
Private MediaVideo As Integer<br />
Dim MediaTypes As Integer<br />
Private cn As notification<br />
'Private WithEvents button1 As System.Windows.Forms.Button<br />
'Private WithEvents oTAPI As TAPI3Lib.TAPI ' will hold our TAPI object<br />
'Private oTAPI As TAPI3Lib.TAPI<br />
Dim m_TAPI As New TAPIClass<br />
Private line_token As Integer<br />
Private oAddress As ITAddress ' will hold our selected address (you can hold many address in an array)<br />
<br />
<br />
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />
Dim myspeak As New SpeechLib.SpVoiceClass<br />
Dim S1 As New SpeechLib.SpFileStream<br />
Const FILENAME1 = "c:\my.wav"<br />
Dim ec As IEnumCall = oAddress.EnumerateCalls()<br />
Dim arg As System.UInt32 = Convert.ToUInt32(0) 'ToDo: Unsigned Integers not supported<br />
Dim ici As ITCallInfo<br />
Dim reject = False<br />
Dim eobj<br />
Dim aa As New Byte<br />
Dim val As Integer<br />
<br />
'Trya<br />
ec.Next(Convert.ToUInt32(2), ici, arg)<br />
Dim bc As ITBasicCallControl = CType(ici, TAPI3Lib.ITBasicCallControl)<br />
' Dim con As ITBasicCallControl = CType(ici, TAPI3Lib.ITBasicCallControl)<br />
'If Not reject Then<br />
MsgBox("hello how r u")<br />
bc.Answer()<br />
MsgBox("hello")<br />
'Dim tone As TAPI3Lib.ITToneDetectionEvent = CType(ici, TAPI3Lib.ITToneDetectionEvent)<br />
'Dim a = tone.Call()<br />
<br />
<br />
<br />
<br />
<br />
'Try<br />
' S1.Open(FILENAME1, SpeechStreamFileMode.SSFMCreateForWrite)<br />
' myspeak.AudioOutputStream = S1<br />
' myspeak.Speak("welcome to telemail,how r u girls")<br />
<br />
' S1.Close()<br />
' MsgBox("file is created")<br />
' Sound.PlayWaveFile(FILENAME1)<br />
<br />
'Catch ex As Exception<br />
' MsgBox(e.ToString)<br />
'End Try<br />
<br />
<br />
<br />
<br />
End Sub<br />
<br />
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />
' creating a new instance to first initialize TAPI befor attaching the events<br />
Try<br />
<br />
' a variable to hold supported media types for the address<br />
<br />
' initializing TAPI<br />
'''m_TAPI.Initialize()<br />
'''oTAPI = m_TAPI<br />
'm_TAPI = Nothing<br />
'oTAPI.EventFilter = (TAPI_EVENT.TE_CALLNOTIFICATION Or TAPI_EVENT.TE_CALLSTATE Or TAPI_EVENT.TE_CALLINFOCHANGE)<br />
' attaching event sink<br />
'oTAPI = m_TAPI<br />
' getting red of the private instance as we have another global instance (oTAPI)<br />
'm_TAPI = Nothing<br />
<br />
Dim AddressCollection As ITCollection = m_TAPI.Addresses()<br />
<br />
For Each Address As ITAddress In AddressCollection ' looping through address collection<br />
<br />
If Address.State = ADDRESS_STATE.AS_INSERVICE Then ' checking if address is working <br />
<br />
Dim MediaSupport As ITMediaSupport = Address ' extracting meida support interface from the address<br />
<br />
MediaTypes = MediaSupport.MediaTypes ' extracting media types supporting<br />
<br />
MediaSupport = Nothing ' dispose of the object<br />
<br />
'If MediaTypes And MediaModem = MediaModem Then<br />
' the address is a data Modem<br />
If MediaTypes = MediaModem Then<br />
' the address supports Audio<br />
oAddress = Address ' select this address<br />
MsgBox("we have selected this address: " + oAddress.AddressName) ' show the selected address name<br />
MsgBox("no is" + CType(MediaTypes, String))<br />
Exit For<br />
End If<br />
End If<br />
<br />
'End If<br />
<br />
Next Address<br />
<br />
<br />
'If Not oAddress Is Nothing Then<br />
' registering notifications for the selected address<br />
line_token = m_TAPI.RegisterCallNotifications(oAddress, True, True, MediaTypes, 2)<br />
m_TAPI.EventFilter = TAPI_EVENT.TE_CALLNOTIFICATION Or TAPI_EVENT.TE_DIGITEVENT Or TAPI_EVENT.TE_PHONEEVENT Or TAPI_EVENT.TE_CALLSTATE Or TAPI_EVENT.TE_GENERATEEVENT Or TAPI_EVENT.TE_GATHERDIGITS Or TAPI_EVENT.TE_REQUEST Or TAPI_EVENT.TE_TONEEVENT Or TAPI_EVENT.TE_CALLMEDIA<br />
<br />
Catch ex As Exception<br />
MsgBox("Error occured:" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "VBCITY.VBTAPI")<br />
End Try<br />
End Sub<br />
<br />
<br />
<br />
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />
<br />
End Sub<br />
End Class<br />
''-----------------------------SOUND CLASS-------------------------------<br />
Public Class Sound<br />
Declare Auto Function PlaySound Lib "winmm.dll" (ByVal name _<br />
As String, ByVal hmod As Integer, ByVal flags As Integer) As Integer<br />
<br />
<br />
Public Const SND_FILENAME = &H20000 ' name is file name <br />
<br />
Public Shared Sub PlayWaveFile(ByVal fileWaveFullPath As String)<br />
Try<br />
PlaySound(fileWaveFullPath, 0, SND_FILENAME)<br />
Catch<br />
End Try<br />
End Sub<br />
End Class<br />
Class notification<br />
'Implements TAPI3Lib.ITTAPIEventNotification<br />
'Implements TAPI3Lib.ITDigitDetectionEvent<br />
<br />
<br />
<br />
'Delegate Sub listshow(ByVal str As String)<br />
'Publicmsgbox As listshow<br />
<br />
<br />
Public Sub sEvent(ByVal te As TAPI3Lib.TAPI_EVENT, ByVal eobj As Object)<br />
'Implements ITTAPIEventNotification.Event,ITDetectTone<br />
Dim aa As New Byte<br />
Dim val As Integer<br />
<br />
Select Case te<br />
<br />
<br />
Case TAPI3Lib.TAPI_EVENT.TE_CALLNOTIFICATION<br />
MsgBox("call notification event has occured")<br />
<br />
<br />
Case TAPI3Lib.TAPI_EVENT.TE_DIGITEVENT<br />
MsgBox("digit is detected")<br />
Dim dd As TAPI3Lib.ITDigitDetectionEvent = CType(eobj, TAPI3Lib.ITDigitDetectionEvent)<br />
'MsgBox("my digit")<br />
MsgBox(("Dialed digit" + dd.ToString()))<br />
<br />
<br />
<br />
<br />
'aa = dd.Digit()<br />
'val = dd.DigitMode<br />
'MsgBox(val)<br />
'Select Case val<br />
' Case val = 1<br />
' MsgBox("u have enter 1")<br />
'End Select<br />
<br />
''''''''''''<br />
<br />
Case TAPI_EVENT.TE_CALLMEDIA<br />
MsgBox("media is changed")<br />
<br />
<br />
Case TAPI_EVENT.TE_PHONEEVENT<br />
MsgBox("phone event is occured")<br />
Case TAPI_EVENT.TE_TONEEVENT<br />
MsgBox("tone is detected")<br />
Case TAPI3Lib.TAPI_EVENT.TE_GENERATEEVENT<br />
Dim dg As TAPI3Lib.ITDigitGenerationEvent = CType(eobj, TAPI3Lib.ITDigitGenerationEvent)<br />
<br />
<br />
MsgBox("digit dialed!")<br />
MsgBox(("Dialed digit" + dg.ToString()))<br />
Case TAPI3Lib.TAPI_EVENT.TE_PHONEEVENT<br />
MsgBox("A phone event!")<br />
Case TAPI3Lib.TAPI_EVENT.TE_GATHERDIGITS<br />
MsgBox("Gather digit event!")<br />
<br />
Case TAPI3Lib.TAPI_EVENT.TE_CALLSTATE<br />
MsgBox("welcome to call state")<br />
Dim a As TAPI3Lib.ITCallStateEvent = CType(eobj, TAPI3Lib.ITCallStateEvent)<br />
Dim b As TAPI3Lib.ITCallInfo = a.Call<br />
<br />
Select Case b.CallState<br />
Case TAPI3Lib.CALL_STATE.CS_INPROGRESS<br />
MsgBox("dialing")<br />
Case TAPI3Lib.CALL_STATE.CS_CONNECTED<br />
MsgBox("Connected")<br />
<br />
Case TAPI3Lib.CALL_STATE.CS_DISCONNECTED<br />
MsgBox("Disconnected")<br />
Case TAPI3Lib.CALL_STATE.CS_OFFERING<br />
MsgBox("A party wants to communicate with you!")<br />
Case TAPI3Lib.CALL_STATE.CS_IDLE<br />
MsgBox("Call is created!")<br />
Case CALL_STATE.CS_HOLD<br />
MsgBox("hold the call")<br />
End Select<br />
End Select<br />
End Sub 'Event<br />
<br />
<br />
<br />
<br />
<br />
<br />
End Class 'callnotification<br />
<br />
<br />
|
|
|
|
|
Until recently I enjoyed the benefits of .Net Framework v1.1 (for 1 year or so). It is a very simple and flexible framework sustaind by a strong language - c#.
But afther I developped a very simple application someone asked me "how much memory does the application 'eats'". My surprise was to find out that a tiny aplication that uses ADO.NET (a few tables with data from a binary file - 4000 records) goes up to 30 MB. So the first thing that camed into my mind was to test how much RAM needs a WindosApplication Template (VS .Net 2003), the result was 9 MB.
Is there something that can be done to avoid this huge amount of memory spent for the application? .Net is designed in order to run even on Windows 98, but a machine that uses Win 98 may have 64, 32 or even less RAM so the memory necessary for the application will be taken from the virtual memory => a much slower speed...
Did anybody faced this problem or does anybody have any recommendation for lowering the memory necessary for .Net applications?
I hope you understand...because I do not...
-- modified at 16:56 Tuesday 30th August, 2005
|
|
|
|
|
No, because you're not looking in the right place to measure the memory consumption.
Yes, there is an overhead for using the .NET Framework and no you can't get rid of it.
Now, like most other people, you probably looked in the Task Manger to see how much RAM was allocated to your process. This is NOT how much memory your process is actually using. The .NET Framework execution environment is a virtual machine with it's own Memory Manager. The .NET Memory Manager grabs a rather large block of memory for your application. Even if you're not using it. This is because it can quickly allocate object on the managed heaps, as opposed to grabbing unmanaged memory, adding it to the managed pool, then allocating your object.
Just because the Task Manager says that your application is taking up X amount of memory, doesn't mean the your application is actually using it. It's RESERVED as far as the .NET Memory Manager is concerned.
Now, on Win98, the memory requirements for using the .NET Framework is at least 32MB of RAM, with 96MB being the recommended minimum. .NET Framework System Requirements[^]
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thank you for your answer...
So you say that because of the large amount of memory avaliable on my machine the framework pre-allocates more (just in case), and that on other machines (with much lesser memory) the framework will pre-allocate lesser... This is a good news for me.
Now I have another question...is there possible to convert .Net code (a binary file) into Machine code, but not at execution time. I mean are thare any compilers capable of converting a .Net application into a standard application (exporting all the used libraryes, or whatever it neads)?
I hope I understand...because is a rough world out there...
|
|
|
|
|
Hey,
I assume you are looking for a way to run your code without a framework!
try Thinstall Thinstall HP
I used it for some tests and it works quite fine. But i think "normal" people wont buy it because of the very high price!
|
|
|
|
|
Does anybody knowes an application that is under a free license which can do a result like Thinstall?
Or an free obfuscation tool?
Or should I reorinet my programming skils to develop such applications as the ones mentioned above?
I hope we understand...because is a rough world out there...
|
|
|
|
|
Vlad Stanciu wrote:
is there possible to convert .Net code (a binary file) into Machine code, but not at execution time.
Yes and no. The .NET Framework comes with a tool call NGEN that will do just that. But! It converts the code to VERY processor specific code, on the processor that it's running on. Say you compile this code on a Pentium IV Step 5. In all likelyhood, it won't run on a Pentium III or and AMD chip. Now you'll have to generate code for each type of processor, and version of, out there.
Completely impractical...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Do you think an article on Virtual memory and .NET Memory management would be a good idea? This is not the first time someone mistook Task Manager memory values to be the actual memory consumption of the application.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|