|
hi
i am a computr science studnt i have encountered the following problems in running your codes that i downloaded from your site
1- when i try to run these projects a message occurs that this project should be converted to the current visual studio version format and when i click ok to convert it another message occurs that it cannot be converted because it is a read only file and you must change the permissions on the file what should i do?
2- how do i add refernces in a c sharp project?
|
|
|
|
|
1 - Obviously you downloaded a solution that was created with Visual Studio.NET 2002 and tried to open it with the 2003 version, so the solution has to be converted. This fails because of the write protection of the files, so simply change this with the Windows Explorer. As a computer science student you should know how to do that.
2 - Go to the solution explorer, right-click on the Reference branch of your project, select add reference and then specify the assembly you want to reference to in the opening dialog.
www.troschuetz.de
|
|
|
|
|
how do i print a picture box in c#? include code sample. i am an ex c pgmr teaching myself c# i run visual studio.net on w2000 pro, not xp.
ez
|
|
|
|
|
If u still need some code, shout, i have it somewhere on my drive, printing of images in C#, as well as multipaged Tiff images
WARNING: Running on cold coffee.
|
|
|
|
|
Any body please tell whats the difference between keyword and reserved word
and also tell that if,else,while are keywords or reserved words
Please reply thanx
ihtesham
|
|
|
|
|
All keywords are reserved words in C# . This means u cannot use them as identifiers in your code .
if, else, while are keywords
|
|
|
|
|
Hi,
Since the reader may not be able to read all the data in 1 time. there's a need to read the data from the WebResponse for several times.
I've read some samples that uses a fixed buffer size, say 4096 bytes. Keep reading until all the data are read.
What is the advantage of using a fixed buffer size?
Why not just reading like the following code segment?
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
BinaryReader reader = new BinaryReader (responseStream);
int bytesRead = 0;
byte[] result = new byte[response.ContentLength];
while(bytesRead < result.Length)
{
int bytesToRead = result.Length - bytesRead;
bytesRead += reader.Read(result, bytesRead, bytesToRead);
}
thanks
|
|
|
|
|
khchan wrote:
What is the advantage of using a fixed buffer size?
Why not just reading like the following code segment?
Because not always you'll have the Content-Length header, so you won't know how much to read. Did you ever try a download that IE couldn't show the '% complete'? That's why: in the .NET world, response.ContentLenght can return -1.
One advantage of the read 4k at a time approach is if are scanning through a page looking for some information (e.g., with a XmlReader constructed on top of the ResponseStream), and you may not need to read everything in an array.
And, at last, if you're building something with the ResponseStream (e.g., a string) and won't keep the byte[]. If you allocate arrays bigger than 85k, the GC will send them to a special area were they're not moved when collected, and if you have lots of huge (85k) temporary objects this can lead to bad GC performance.
Besides that, it's just habit and people code things without really asking "hey, why should I do this way?".
Yes, even I am blogging now!
|
|
|
|
|
I am trying to get an understanding about making classes thread-safe.
Since the constructor is called just once for each instance of a class, does it follow that no other consideration needs to be given to ensure the constructor is thread-safe?
Thanks for any help
|
|
|
|
|
Shayne Husson wrote:
I am trying to get an understanding about making classes thread-safe.
Since the constructor is called just once for each instance of a class, does it follow that no other consideration needs to be given to ensure the constructor is thread-safe?
No. However the new Operator[^] is not the problem as it (as you already mentioned) just creates an object, invokes the constructor and returns a reference to the newly created object. This will be thread-safe as long as the constructor does not access any outside object (public MyClass() {} for example is no problem at all). But let's assume you have something like this:
public MyClass(object someObject)
{
}
If you use this constructor in a multithreaded scenario you might end up having concurrent access of someObject . Now if you don't have a synchronization mechanism one thread might end up accessing someObject in an inconsistent state. So ultimately the need for synchronization in the constructor really depends on if and what you're trying to do with any objects which are known outside the constructor.
Best regards
Dennis
|
|
|
|
|
Just a little hint I forgot to mention in my previous post: when you dynamically create instances of anything derived from Control[^] be very careful in which thread you create them (see Multithreaded Windows Forms Control Sample[^] for details).
Best regards
Dennis
|
|
|
|
|
Cheers that makes things clearer for me.
|
|
|
|
|
Hey,
I am not sure if this is the correct place to put this, but I am currently localizing an active project that is using .resx files. While the developers are making simple changes, it seems to randomly re-order the files. So I was wondering if anyone knew of a good file difference program (like Beyond Compare or Win Diff) that can handle .resx files that keep switching order but not neccessarily data.
Thanks,
Brian
If you start a fire for a man, he will be warm for a day. If you start that same man on fire, he will be warm for the rest of his life.
|
|
|
|
|
Just came to the realization when creating an image list and pointing it to an icon file .ico that contains 16X16, 24X24, 32X32 size images that you can't specify which one to use.
I thought this was just a limitation of the visual studio property page, but then I started digging and I see no reference anywhere in .net to indexed icon files. Every icon related function seems to work with the 0th image by default.
For example when you use ImageList.Add(pathtoiconfile) you get no option to specify which image in the icon file to use.
Am I missing something here or are icon files with more than one image in them just not supported?
|
|
|
|
|
John Cardinal wrote:
Am I missing something here or are icon files with more than one image in them just not supported?
IIRC, not supported... not yet anyway. I think that's uspposed to be resolved in the .NET Framework 2.0.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Can someone please help me with this? If I obtain a lock on an object and then spawn a new thread from within the method that obtained the lock, does the new thread have access to the locked object? It seems intuitive that it would, but its important I know for sure.
private void Method1()
{
lock(lockedObject)
{
Thread th = new Thread(new ThreadStart(SpawnMethod2));
th.Start();
}
}
private void SpawnMethod2()
{
// do something with lockedObject....
}
|
|
|
|
|
I would assume it does because the new thread really starts in ur SpawnMethod and ur lock is effective in your Method1. It wouldn¡t be too hard to test anyway, try it out with a dummy app.
Apart from that, I would consider using System.Threading.Monitor.Enter/Exit for thread-safe objects. With the lock statement u risk throwing an exception that could deadlock ur object or what's worse, ur type if its a static method.
This wont happen with Monitors:
private void Method1()
{
try
{
Monitor.Enter(lockedObject);
Thread th = new Thread(new ThreadStart(SpawnMethod2));
th.Start();
}
finally
{
Monitor.Exit(lockedObject);
}
}
|
|
|
|
|
Here's what I've found, and I hope I tested this correctly:
1. if you lock an object and then simply call a method from inside the lock, the currentthread maintains the lock in the called method
2. if you lock an object and then spawn a new thread and attempt to access the locked resource from the new thread, you must wait until the initial thread releases the lock
How I determined this was to add "lock(lockedObject)" (yes, I know I shouldn't use it but its just for this test) to all three methods: 1. the initial method (Method1), 2. the called method (Method2), and 3. the method the new thread calls (Method3).
The initial thread obtains the lock and calls Method2, which also requests a lock on the object. Because the thread in Method2 matches that of Method1 (as determined by outputting the currentthread's name), control passes right through Method2's lock with no problem and executes whatever code I have inside its lock().
However, if I access the lock in Method1, spawn a new thread (naming it, so I can check the flow of control), and attempt to access the lock on Method3, it waits momentarily until control passes through Method1, thus releasing the lock on the object and allowing Method3 to obtain the lock. At that point, code inside Method3's lock begins to execute.
I hope this is a sound way of determining this. I am somewhat of a newbie when it comes to threading issues, and I'm having to learn a lot of stuff just by performing my own little tests. If anyone sees a problem with my methodology, please help me out.
|
|
|
|
|
Skynyrd wrote:
Apart from that, I would consider using System.Threading.Monitor.Enter/Exit for thread-safe objects. With the lock statement u risk throwing an exception that could deadlock ur object or what's worse, ur type if its a static method.
No it wouldn't. The lock Statement[^] is exactly doing what you suggest to do manually (see C# Language Specification: 8.12 The lock statement[^]).
Best regards
Dennis
|
|
|
|
|
eyoung70 wrote:
If I obtain a lock on an object and then spawn a new thread from within the method that obtained the lock, does the new thread have access to the locked object?
Take a look at the documentation of the Monitor.Enter() Method[^] to understand what happens when you use the lock statement[^]. In short you need to use it everywhere where threads might concurrently access an object while it might be in an inconsistent state. This happens when one thread begins to change data of the object, is interrupted and another thread accesses the (now inconsistent) object. It has nothing to do with in which thread another concurrent thread was originally created.
Best regards
Dennis
|
|
|
|
|
The rule is tremendously simple:
The lock is per thread. Is some other thread tries to lock it, it'll be blocked.
It doesn't matter which object or which method. All that matters is wich thread.
HTH.
Yes, even I am blogging now!
|
|
|
|
|
If I have a single WebBrowser control (either the managed wrapper in 2.0 or the ActiveX instance), is there anyway I can force it to draw to the screen multiple times without creating multiple instances of the control? Basically what I want to do is:
-------------------
<draw some html in here>
-------------------
<draw other html here>
-------------------
and so on. I know I can do this with the RichTextBox via P/Invoke (MSDN article on that here[^]), but that same P/Invoke trick doesn't seem to work on the WebBrowser control.
Any remotely useful information on my blog will be removed immediately. There are 10 kinds of people in the world. Those who have heard of the ubiquitous, overused, worn-out-like-an-old-shoe binary "joke" and those who haven't.
Judah Himango
|
|
|
|
|
Hello all
I made a desktop application the useres enter data in text boxes but when the user enter this Char " ' " make confilect with with SQL Statement
eg.
Select * from Names where Name='"+Name+"'
if Name contain any ' it will make SQL statment error
pleae help
Hay
|
|
|
|
|
Someone once said in this forum "Sql string concatenation is sooooo 1990s" Do not use string concating for sql statements, that opens you up to Sql injection attacts. Instead, use parameterized queries, which will also take care of your char apostrophe problem:
SqlCommand command = new SqlCommand("Select * from Names where Name = @Name");
command.Parameters.Add("@Name", myNameVariable);
Any remotely useful information on my blog will be removed immediately. There are 10 kinds of people in the world. Those who have heard of the ubiquitous, overused, worn-out-like-an-old-shoe binary "joke" and those who haven't.
Judah Himango
|
|
|
|
|
Hi, my name is:
';DELETE FROM Names;--
can you enter my name in the name paramand test it works for me please.*
* dont do this really, just make sure you use parameterized queries for important data
|
|
|
|