|
This is a Runtime application. The Common Language Runtime (CLR) is loaded, along with the base class libraries (BCL assemblies) and any third-party assemblies when the Type they define is needed. This can consume quite a bit of memory. The same is true for Java applications and anything that uses a runtime in this manner (C/C++ has a runtime, too, but since it compiles to native code where .NET and Java compile to bytecode, that runtime is just common functions).
There are things you can do to help eliminate waste, though. For example, when you show a modal form (when you call Form.ShowDialog ), make sure you call Dispose on the forum afterware to clean-up native resources. Native resources aren't managed by the Runtime GC (Garbage Collector), so they must be freed by calling Dispose (and there's a lot of discussion about finalizers and Dispose on the 'net you can google for).
A good way to make sure a form is always disposed is using the using block statement:
using (PromptForm form = new PromptForm())
{
DialogResult result = form.ShowDialog();
if (result == DialogResult.OK)
return form.Answer;
else return null;
} PromptForm is just a made-up form that asks a question and lets the user type in an answer. If the OK button was clicked (and it's DialogResult property is set to DialogResult.OK ), you return the answer; otherwise, you return null (again, just an example). Before the answer or null is returned, the form variable is disposed since the above translates to:
PromptForm form = new PromptForm();
try
{
}
finally
{
form.Dispose();
} In a try-catch-finally or try-finally, the finally block is always exectued even if an exception is thrown (the only case where it's not is when you call Environment.Exit , which unloads the CLR and only finalizers are called).
There are many other things you can do as well. I suggest you go to MSDN[^] and browse some of the articles about memory management and the CLR.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I want to write a new ColorTranslator class because it can't analyse the color string like "rgb(255,0,0)"
public class ExColorTranslator <br />
{<br />
public static Color ExFromHtml(string htmlColor)<br />
{<br />
...<br />
}<br />
}
but When I used the function ExColorTranslator().ExFromHtml(...) ,I had to write new ExColorTranslator().ExFromHtml(...)
How to use this function directly and need't construct a new ExColorTranslator() class? just like the class such as Pens ,ColorTranslator ,Brushes ... does
|
|
|
|
|
when i need to use a function directly, i just change it to static, but you've already done that... not sure...
|
|
|
|
|
luming1122334455 wrote:
When I used the function ExColorTranslator().ExFromHtml(...)
Leave out the parentheses after ExColorTranslator and it should work: ExColorTranslator.ExFromHtml(...)
|
|
|
|
|
I got it!
Thanks very much,
|
|
|
|
|
Hi I'm new to progrramming with C# and was looking for a way to send the VGA screen from my Toshiba e800 PDA (Win Mobile 2003 SE) to a CRT monitor. I have the appropriate hardware for connection between the PDA and monitor but would like to switch the monitor display on and off from within a C# progam.
Any help would be greatly appreciated.
Thanks,
Brett
|
|
|
|
|
Need help badly. Project is due by this midnight. I am using OLEdataadapter to connect Visual C# to a Access Database. How you set up a SearchCommand.
REALLY. Please Help.
Thank you,
Vickie B.
|
|
|
|
|
cant help you... dont know enough...
but good luck, know how sh*tty deadlines can be...
|
|
|
|
|
You can try to use a SQLcommand, then the sql code can be
"select something from somewhere where something = '" + this.textbox1.text + "'";
then use the OLDDataadapter to populate the dataset, and display the result.
Hope you understand, and can get it work.
anghp@yahoo.com
Feel free to contact through email or yahoo messenger.
|
|
|
|
|
hpAng wrote:
You can try to use a SQLcommand, then the sql code can be
No, you use the OleDbCommand when using the other classes in the System.Data.OleDb namespace like OleDbDataAdapter .
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi,
How can i send a FILE with HttpWebRequest
I opened a StreamWriter with GetRequestStream()
But i have no ideia how to send a file :\ because in the page have a FileField ;\
Thanks.
|
|
|
|
|
Take a look at RFC 1867[^] which describes file uploads using HTTP.
For example, if you only need to upload a single plain text file, you cn set the HttpWebRequest.ContentType to "multipart/form-data; boundary=ABC123". You then get the request stream using HttpWebRequest.GetRequestStream and, to make things easier, pass that to a StreamWriter with whatever Encoding is appropriate (should be the same as the file encoding you're uploading, though multiple parts can have different encodings that would go into the "Content-type" header as "charset". You would write to the request stream writer like so:
--ABC123
Content-type: application/x-www-form-urlencoded
param1=value1¶m2=value2
--ABC123
Content-disposition: form-data; name="FileField"
Content-type: text/plain
This content is from a text document.
--ABC123-- Notice the intentional line breaks and how the last line ends with -- (the end of the MIME boundary).
Learning this is crucial to understanding how to HTTP and MIME works, and the RFC is actually quite easy to read (compared to many others I've read).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I've learned how to connect, attach and detach my msde tables and databases.
Now I need to be able to make a call to sp_helpdb and get the return values from a C# applicaiton.
Can someone give me some help please?
Thanks,
cb
|
|
|
|
|
|
|
I think his article is good for creating wrappers for stored procedures that have been created for a given db.
But my question is specifically about sp_helpdb.
How would you construct c# code to execute this sp and get it's returned value(s)????
cb
|
|
|
|
|
The same as you do for any stored procedure: create a SqlCommand and fill it's Parameters collection property with parameters using the same names as the parameters defined by the stored procedure, plus one parameter with a direction of ParameterDirection.ReturnValue :
SqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "sp_helpdb";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@dbname", SqlDbType.NVarChar, 128).Value = "master";
SqlParameter retVal = new SqlParameter("@RETURN_VALUE", SqlDbType.NVarChar,
128, ParameterDirection.ReturnValue, false, 0, 0, null,
DataRowVersion.Current, null);
cmd.Parameters.Add(retVal);
try
{
connection.Open();
cmd.ExecuteNonQuery();
}
finally
{
connection.Close();
}
Console.WriteLine(retVal.Value);
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I entered the code as you suggested and it works returning a '0'.
My questions is how do I 'get' the values such as the name/path of the db and log files?
Thank you,
c
|
|
|
|
|
Sorry, I was thinking of a different stored proc. Handle the SqlConnection.InfoMessage event. This gets you the text that is printed using the PRINT statement in SQL (among other things). This is what sp_helpdb uses to print the information about whatever database name you passed as a parameter.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi
I have a ShowModalDialog window, which pops up on clicking on the button,
The modal dialog windo contains datagrid,
Now i have a problem...
The datagrid will bind at the page load time,
But when paging event happens the grid is not binding (Paging is working fine without modal dialog and code is correct) And I am using
<base target="_self" /> for the modal dialog window.
But Still I am in confusion why the paging event is not firing properly...
Please send me if u any suggestions for this.
|
|
|
|
|
You should post this question in the ASP.NET forum.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
|
I'm writing a program where i need 4 different random numbers. i'm using one Random, called "gen" and using gen.Next(1,52) so my number falls in between 0 and 53. (using 4 different Randoms only makes my problem worse below)
however, frequently, i get 2 or more of the variables to be equal, which i dont want. i know i can use if statements and switch statements, but it would be too long:
if (i == j) ...
if (i == k) ...
if (i == l) ...
if (j == i) ...
if (j == k) ...
...
and then i would have to use a loop to make sure those weren't the same...
what can i do?
|
|
|
|
|
Insert them into a set until you have four values ? Does C# have sets ? Surely it does....
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
i dont know enough to be sure if it has sets, much less what sets are...
got any explanations or articles?
|
|
|
|