|
How do i explicitly free byte array?
|
|
|
|
|
Hi,
when the last reference to an object (such as a byte array) is given up, the object becomes collectable.
Examples:
{
...
byte[] myArray=new byte[1000];
...
myArray=new byte[2000];
...
myArray=null;
...
myArray=new byte[3000];
...
}
Collectable means the garbage collector, when it decides to run, would find and collect the object.
However it will only run when there is a need to run, unless you force it with one of the GC
methods. Doing so is almost always a bad idea, since a GC run is costly, and temporarily blocks all
the threads; therefore the GC should only run when necessary, i.e. when there isn't enough
free memory to satisfy a new SomeThing() request.
|
|
|
|
|
Hopefully you are asking about what Luc posted, setting the variable to null. Otherwise you are out of luck since finalization is non-deterministic in the Garbage Collected environment.
led mike
|
|
|
|
|
Hello, I am attempting to use RegisterClientScriptBlock and it is not seeming to work. Can someone take a look at my code?
Here is my C# (which I have in my PageLoad):
)
var videoLoadScript = " var so = new SWFObject('player.swf','mpl','955',' 540','9');";
videoLoadScript += "so.addParam('allowscriptaccess','always');";
videoLoadScript += "so.addParam('allowfullscreen','true');";
videoLoadScript += "so.addParam('flashvars','&file='" + path + "'&autostart=true');";
videoLoadScript += "so.write('player');";
ClientScript.RegisterClientScriptBlock(this.GetType(), "test", videoLoadScript, true);
Here is my HTML (which I have in my BODY tag):
<div id="player" oninit="test();" align="center">This text will be replaced</div>
does anyone see anything obviously wrong?
|
|
|
|
|
sarajo1981 wrote: and it is not seeming to work
What is the error you are getting ? Your code registers a script named "test", why you are writing it again in the markup manually ?
Your question is ASP.NET related. CP has a ASP.NET forum. Please consider posting in the right forum next time.
|
|
|
|
|
sarajo1981 wrote: does anyone see anything obviously wrong?
Yes, you don't seem to understood the documentation[^] correctly. You appear to think that "key" equals "function name". They are not equal. If your intention is that the script you are registering is a javascript function then the string you pass in must contain the complete code of the javascript function as the example code in the documentation clearly depicts.
- key
- Type: System..::.String
The key of the client script to register.
led mike
|
|
|
|
|
I have an application in wcf with dualHttp
Is there a way to know if the server is shutting down suddnly unexpectidly like if some one do a restart?
Is there a way for the server to knmow if the same thing for the server to know if the client shuts down unexpectedly?
|
|
|
|
|
Is there not and OnStart event in your service - oops sorry Windows Service
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
I just want to display the form1.cs with a Title on the left and an close button on right(no minimize and maximize button) so i set the property like this
this.FormBorderStyle = FormBorderStyle.FixedSingle;
But I don't like is that the title bar size it's thin and I can't add an icon. I want to keep the title bar size if we were to set the this.FormBorderStyle = FormBorderStyle.FixedDialog.
I played around with all the properties but couldn't find one may be i am missing something. Please indicate me
Thanks.
|
|
|
|
|
netJP12L wrote: I played around with all the properties
That is insufficient; you must either try all combinations of all settings, or read the documentation.
The minimize and maximize buttons have a bool property controlling them. You don't have to select
a special border style for that reason.
|
|
|
|
|
Now since I have got the report working and displaying properly, I'm struck @ this thing and I've got lots of confusion revolving this.
I've got a table with 5 fields in which date was splitted in 4 columns as DD, MM, YY1 and YY2. Using dataset (C#.Net), I've added a new column and concatenated these 4 fields into one and made it look like a date field (mm-dd-yyyy) and this field is a String field. Now the actual problem is that I want to display report based on a Date Range Selection from my Form (i.e 2 Textboxes for Start Date and End Date). I've not much clear idea as how to proceed validating the records as it can't be done at the database level since my database doesn't have anything like a Date Field.
Any suggestions would be highly appreciated.
|
|
|
|
|
Hi,
I can see only two clean ways to do date ranges:
1. use a real Date or DateTime field in the database, then SQL Server will be able to do real
date checking.
2. use an integer field in the yyyyMMdd format (as I suggested before), so numeric and chronological
order are the same, hence you can do numeric comparison.
A field that "look like a date field (mm-dd-yyyy)" is of no use to SQL server!
|
|
|
|
|
Luc, there is nothing much I can do on the database coz it resides on the AS400 IBM iSeries server and that's the way how dates are stored in mainframe systems.
Then regarding the "looking like date field", its infact the the date itself which is stored in a string field and if I'm not wrong that can be converted into integer or date field..........that's wht i think...........am i right............???
and moreover, i need help on the logical part of how to proceed on it.........
|
|
|
|
|
if that is the way dates are kept all the time (I do find that hard to believe), then they are bound
to have a way to do date comparisons and date range checks based on that format too...
I am afraid I can't help you any further, I am no database expert, and never addressed an AS400.
|
|
|
|
|
Luc, that's the way they do it in mainframe server. But the thing is that I'm looking for something which could actually help me in doing the date range comparison at the code level. Normally we do it at the database level but since my database doesn't have a date field, I've to do it at the code level. I'm saying so, coz my code concatenates the 4 different fields into one field and display it as date field on crystal report. So if there are chances of any comparison for date range then it has to be done at code level only coz that's the place where its actually shown up as date field.
Did i confused you...........????
To be more clear, I want the date range comparison to be done exactly after the code where its concatenating the fields.............and the code for the same is as given below:
for(Int32 i = 0; i < newPDS.Tables[0].Rows.Count; i++)
{
DataRow row = newPDS.Tables[0].Rows[i];
row["ADM_DATE"] = row["CADMMM"].ToString() + "/" + row["CADMDD"].ToString() + "/" + row["CADMHH"].ToString() + row["CADMYY"].ToString();
}
|
|
|
|
|
Hi,
if you have numeric values for year, month and day, you can create a new DateTime() instance
with the corresponding value DateTime dt=new DateTime(year, month, day);
[ADDED] If all you have is a datelike string, then you can try and extract a DateTime from it
using DateTime.Parse(), DateTime.ParseExact() or DateTime.TryParse().[/ADDED]
And when you have two DateTime instances you can compare them with the comparison operators
such as < and == and >
modified on Monday, July 28, 2008 2:21 PM
|
|
|
|
|
I wouldn't fetch all records and do it on client side, because it would unnecessarily create high load on the database server and fetch more records than actually needed. Can't you do something like this on server side?
SELECT ...
FROM table
WHERE YY >= startyear
AND MM >= startmonth
AND DD >= startday
AND YY <= endyear
AND MM <= endmonth
AND DD <= endday
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
The principle is OK, but the implementation is wrong.
There is a huge difference between date1<date2
and
year1<year2 AND month1<month2 AND day1<day2
The correct way would be something like this:
year1<year2 OR (year1==year2 AND (month1<month2 OR (..etc..))
|
|
|
|
|
I totally agree with what you guys are saying, but please let me know whether I can use the SELECT statement on DataSet the same way as we use on Database tables coz I don't have the datefield in database table, its only the newly created DataSet which is holding the DateField.
Let's say, the code goes like this :
DataColumn dCol = new DataColumn(newPDS.Tables[0].Columns.Add("ADM_DATE", typeof(String)).ToString());
for(Int32 i = 0; i < newPDS.Tables[0].Rows.Count; i++)
{
DataRow row = newPDS.Tables[0].Rows[i];
row["ADM_DATE"] = row["CADMMM"].ToString() + "/" + row["CADMDD"].ToString() + "/" + row["CADMHH"].ToString() + row["CADMYY"].ToString();
}
Now its the newPDS DataSet, which is having the DateField. So, now please tell me a way to apply the date range thing within this piece of code. (Date range from Form is entered in 2 Textboxes as START_DATE and END_DATE in the format of DD/MM/YYYY.
THANKS
|
|
|
|
|
I have a simple class that inherits from TextBox and has a member variable
ErrorProvider m_ErrorProvider
ErrorProvider has a dispose method so I've implemented IDisposable and my Dispose method is simply
void IDisposable.Dispose()
{
m_ErrorProvider.Dispose();
base.Dispose();
}
Is this sufficient?
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
|
|
|
|
|
No.
You should override the bases Dispose(bool disposing) method.
Follow the dispose pattern[^] for a derived class.
Simon
|
|
|
|
|
I had just been on that page but missed the derived class bit!
Thanks.
So this should be OK?
void IDisposable.Dispose()
{
Dispose(true);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
m_ErrorProvider.Dispose();
}
base.Dispose(disposing);
}
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
|
|
|
|
|
DaveyM69 wrote: I had just been on that page but missed the derived class bit!
Considering that the dispose pattern is one of the most used in .net, that page is really rather poorly laid out. It's pretty easy to miss.
DaveyM69 wrote: So this should be OK?
You don't need the unparamaterised dispose method. That is naturally inherited from the base.
void IDisposable.Dispose()
{
Dispose(true);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
m_ErrorProvider.Dispose();
}
base.Dispose(disposing);
}
Simon
|
|
|
|
|
Cheers Simon
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
|
|
|
|
|
Pleasure.
Simon
|
|
|
|