|
C# dosen't have a delete operator so, we don't have destructors in the C++ sense. You have to override the finalize method which looks strangely like a C++ destructor
But, in order to exercise a more percise destructor like control .net wants us to implement the Dispose pattern which can be easily done through IDisposable. Another bennifit is that much of .net uses this pattern; also a client app using your class class will be able test for this interface using the "as" or "is" operators..making it a tad more reuasable.
Hey don't worry, I can handle it. I took something. I can see things no one else can see. Why are you dressed like that?
- Jack Burton
|
|
|
|
|
|
I want to show time in my applicattion based on different area time zone.When user select different area it shows the time on that area.Is there any way I can get the time based on time zone?
Mazy
"And the carpet needs a haircut, and the spotlight looks like a prison break
And the telephone's out of cigarettes, and the balcony is on the make
And the piano has been drinking, the piano has been drinking...not me...not me-Tom Waits
|
|
|
|
|
I'm assuming the user will select the time zone from a dropdown or similar control. In that case you should have the time zone offset for that area, you could just add or subtract the hours from the current system time.
|
|
|
|
|
Have you looked at the System.TimeZone class? It looks like the ToLocalTime() and GetUtcOffset() methods should be close to what you need.
Hey don't worry, I can handle it. I took something. I can see things no one else can see. Why are you dressed like that?
- Jack Burton
|
|
|
|
|
I'm using a background thread in my Windows Forms app to retrieve all user objects in our Active Directory. (15,000+ users) I am retrieving users in lots of 1,000, at which time I call the Suspend() method on my thread to pause the GUI and allow them to select a user or users.
If the user presses the Cancel button while the thread is in the running state, I call the Abort() method and catch the corresponding ThreadAbortException, and the thread terminates gracefully.
The problem I'm having is that if I call the Abort() method while the thread is in a suspended state, the thread never terminates. I am catching the ThreadStateException that is thrown, but is there something else I must do to the thread to properly terminate it at this point? Code follows:
private void buttonMemberSelectCancel_Click(object sender, System.EventArgs e)
{
try
{
if (!bgListThread.IsAlive) // is alive?
this.Close();
else
{
try
{
bgListThread.Abort();
}
catch(System.Threading.ThreadAbortException)
{
// abort thread gracefully
}
catch(System.Threading.ThreadStateException)
{
// if suspended, abort gracefully
}
}
}
catch (NullReferenceException)
{
// if thread doesn't exist, just close dialog
}
finally
{
this.Close();
}
}
|
|
|
|
|
In my unscientific tests, I noticed that the Thread.Abort() method cannot cancel an interop call, only managed code.
It's not the fall that kills you: it's the sudden stop - Down by Law, Jim Jamursch (1986)
|
|
|
|
|
Daniel Turini wrote:
I noticed that the Thread.Abort() method cannot cancel an interop call, only managed code.
Huh? I'm not making any Interop calls in this function at all.
|
|
|
|
|
It's a gruesome suggestion, but just as a test, you might try resuming the thread and then aborting it.
|
|
|
|
|
Maybe, but according to the MSDN docs, the CLR already does that for you when you call Abort.
|
|
|
|
|
Marc Merritt wrote:
according to the MSDN docs, the CLR already does that for you when you call Abort.
I don't know if that has always been in the docs, but it certainly isn't what happens under .NET v1.0; in v1.1 it has been corrected and works correctly.
James
"It is self repeating, of unknown pattern"
Data - Star Trek: The Next Generation
|
|
|
|
|
|
Hi,
I am trying to print on serverside using C# on a WebForm. When I called the Print() of PrintDocument, I am getting the error
'No Printers Installed'. Perhaps this was because of different account with which it was running. I made impersonate true in web.config and in the class constructor did the following:
int userAuthToken = 0;
LogonUser("deepak","DeepakWorld","monkey",8,0,out userAuthToken);
WindowsIdentity.Impersonate(new IntPtr(userAuthToken));
System.Diagnostics.Trace.Write(WindowsIdentity.GetCurrent().Name);
where LogonUser is the method in advapi32.dll
Before print, when I queried the CurrentIdentity, it revealed and confirmed that it was running DeepakWorld/deepak. But still it is saying 'No Printers installed' I have printers installed.
When I directly asked it to print using
print.PrinterSettings.Printer = @"\\Kennel\GP142";
it says:
Tried to access printer '\\Kennel\GP142' with invalid settings.
Please advise on how to print from a WebForm.
Deepak Kumar Vasudevan
http://deepak.portland.co.uk/
|
|
|
|
|
What is the event that is fired when maximizing a form? or minimizing for that matter.
I currently have put a delegate on the Resize event and checking for FormWindowState.Maximized.
Is this the only way of doing it? or even the correct way?
Basically i dont want to actually maximize my form. I want to change its height to a certain value while not changing the top and left of the form. But the WindowsState is only changed to FormWindowState.Maximized when the form is actually maximized and not before when it starts.
Any help is appreciated.
--ABT
|
|
|
|
|
Hi
I had the same problem. .NET doesent raises any specific event when the windowState of a form changes except the resize event. Else u can catch the WM_XXX message in "WndProc" method
Thanks
Srinivas
|
|
|
|
|
Thanks but i have never overriden this method before. Where do i get the values of WM_XXX and other message constants?
|
|
|
|
|
Hi,
I want to generate a random number of fixed-size for passwords.
The size of the password must be 8 digits.
I'm using c#, .net 1.1
Cheers
Gerry.
|
|
|
|
|
Random rand = new Random();
string pwd = rand.Next(10000000, 99999999).ToString();
that should do the trick.
| Website: http://www.onyeyiri.co.uk
| Sonork: 100.21142 : TheEclypse
| "If a dolar was a chicken would the chicken be evil?"
|
|
|
|
|
DUH
I thought of doing that with int, but the size would be too large. So I thought of using an int array
Should've thought of using string instead
::Incredibly embarrased::
Notorious SMC
The difference between the almost-right word & the right word is a really large matter - it's the difference between the lightning bug and the Lightning
Mark Twain
Get your facts first, and then you can distort them as much as you please
Mark Twain
|
|
|
|
|
but the two parameters sent to Random.Next are int's, i checked the max value of int's just a minute ago using the Int32.MaxValue property, and it had more than 8 digits in it, i only converted it to string because it was a password.
| Website: http://www.onyeyiri.co.uk
| Sonork: 100.21142 : TheEclypse
| "If a dolar was a chicken would the chicken be evil?"
|
|
|
|
|
I'm just embarassing myself more and more, aren't I?
For a minute there, I was using Int16 ?!?!
Notorious SMC
The difference between the almost-right word & the right word is a really large matter - it's the difference between the lightning bug and the Lightning
Mark Twain
Get your facts first, and then you can distort them as much as you please
Mark Twain
|
|
|
|
|
Create an int array of size 8, and assign a random number(range 0 to 9) for each int.
Notorious SMC
The difference between the almost-right word & the right word is a really large matter - it's the difference between the lightning bug and the Lightning
Mark Twain
Get your facts first, and then you can distort them as much as you please
Mark Twain
|
|
|
|
|
Thanks for replying. But this random number generator isn't as secure as cryptography RGN's.
Something like the RandomNumberGenerator class.
Cheers,
Gerry.
Gerry.
|
|
|
|
|
In my windows application I need to open Excel application in background and read some data from excel files.
What I do is
Excel.ApplicationClass excelApp = new Excel.ApplicationClass();
Excel.Workbook WB;
excelApp.Visible = false;
Then I open workbook:
WB = excelApp.Workbooks.Open(filename,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing);
And now I want to read some data from this excel file. In access I did it in this way: WB.Names("name1").refersToRange.Cells(1,1), but here in C# there is no such method Cells(string Name), so I don't know how to access cell value in given Excel name????
Can anyone help me?
I am using office XP!
|
|
|
|
|
I had this same problem a while ago, and the solution I used was:
Assign the refering name to a variable
String sRef = (String)(nm.RefersToR1C1).Split("!"c)
which will get you something like "RxCy" where X is the row number and y is the Column number. Extract those value out, then
String Value = (String)WB.Sheets(sheetname).Cells.Item(row,col)
It's a long way to do it, but until Office 11 comes out, it's the only way I know
Notorious SMC
The difference between the almost-right word & the right word is a really large matter - it's the difference between the lightning bug and the Lightning
Mark Twain
Get your facts first, and then you can distort them as much as you please
Mark Twain
|
|
|
|