|
It does not work .. displays en error message
|
|
|
|
|
what is that error message ?
sample:
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
this.visitLink ("http://www.microsoft.com");
this.linkLabel1 .LinkVisited =true;
}
bill
|
|
|
|
|
I always insert the Microsoft Web Component in my user controls section in the toolbox.
it's under COM components: Microsoft Web Browser.
Create an object and call the Navigate function and pass your URL as parameter...
good luck.
No hurries, no worries.
|
|
|
|
|
Hi, i want to put two pictureboxs above each other, and make them transperant to each other.
or , I need to allow the picturebox to be trasperant....How?
Thanks
BASKOTA
|
|
|
|
|
Hi
I have a win app using webservice it shows data;
because of low speed connection i have a bad visualization of application.
can any one help me on this problem;
The WinForms render as :
.
.
.
myForm.Populate();
myForm.Show();
.
.
.
|
|
|
|
|
If you hvae a slow connection, the only thing you can do is try and reduce the amount of data coming from the WebService. Only ship exactly what you need to render the form.
You might also try asynchronous calls to the WebService. This would allow you to start rendering parts of the form that don't need data, then update the parts that do when the data comes back from the WebService. This usually gives the illusion of faster response, if done correctly.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
What about multi threading ?
|
|
|
|
|
That IS multithreading. When you make an asychnronous call, a thread is created out of the thread pool to make the call while the UI thread goes on it's merry way.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi
Does any body have knowledge that how i work with Telephone APIs in C# or VB.Net? Where is get this APIs?
Please help me in this...
E-mail: waqasb4all@yahoo.com
Muhammad Waqas Butt
|
|
|
|
|
There are no native .NET telephony APIs. You can use PInvoke interop to call the TAPI API functions though. Have a look at this[^] as a starting point.
Michael
CP Blog [^] Development Blog [^]
|
|
|
|
|
I am trying to set the grouping / sorting fields at run-time from
C#.NET against a Crystal Report.
I'm using the code as provided in the help files using syntax like :
FieldDefinition FieldDef = new FieldDefinition();
FieldDef = Report.Database.Tables[0].Fields["FieldName"];
Report.DataDefinition.Groups[0].ConditionField = FieldDef;
I have the appropriate 'using' set up (for
CrystalDecisions.CrystalReports.Engine.FieldDefinition.FieldDefinition()).
When I attempt to compile this code I am presented with a build error
suggesting that :
'CrystalDecisions.CrystalReports.Engine.FieldDefinition.FieldDefinition()'
is inaccessible due to its protection level'.
I've followed / copied the code sample as suggested within the help files.
Where have I gone wrong / what am I missing ?
Any pointers / help would be appreciated.
Thanks in advance.
Hadi.
|
|
|
|
|
|
Finally I found a solution to the ever irritating problem of bi-directional relations between objects that are saved in a database. Ok, the solution wasn't really obvious and rather complicated if you ask me:
queryBuilder.Append("SELECT Computers.Computernummer,");
queryBuilder.Append("Computers.X,Computers.Y,Computers.Geblokkeerd,");
queryBuilder.Append("Leerlingen.Leerlingnummer,Leerlingen.Naam,");
queryBuilder.Append("Leerlingen.Klas,Leerlingen.Foto,");
queryBuilder.Append("Leerlingen.Geblokkeerd as LeerlingGeblokkeerd");
queryBuilder.Append(" FROM Computers LEFT OUTER JOIN ");
queryBuilder.Append(" Leerlingen ON Computers.Leerlingnummer");
queryBuilder.Append(" = Leerlingen.Leerlingnummer");
while (reader.Read())
{
Computer computer = new Computer();
...
if (!reader.IsDBNull(4))
{
Leerling leerling = new Leerling();
...
computer.Leerling = leerling;
leerling.Computer = computer;
}
...
In short, what I do here, I select a computer and possibly with it a student. This only happens when the student has been logged on to the computer. Sounds simple, code looks complicated.. And it took me quite some time to figure it out.
Maybe this tip can be good for others which have the same problem.
WM.
What about weapons of mass-construction?
|
|
|
|
|
Can anyone tell me what are the C#, ASP.NET coding standards followed in the industry ?
Cheers,
Tabarak
|
|
|
|
|
|
|
The product I work on is in C#, and we're talking about making the code harder to reflect/steal. I heard NGen does a precompile, but the docs seem to imply this is done per machine, not to make an exe to distribute. Is that right ? Is the obsfucator worth looking in to ? Or should I tell the guy to fund a rewrite in C++ ? :P
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
That is a definition for it : Go[^].
And also this may help :Here[^].
|
|
|
|
|
NGen generates code per processor, not machine. Even some of the processor revisions are considered when it gen's code.
I'd look into the obfuscators. Nothing is going to prevent a determined schmuck from reversing the code, but then again, they could do the same to C++ source too.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Dave Kreskowiak wrote:
NGen generates code per processor, not machine. Even some of the processor revisions are considered when it gen's code.
So I can end up with an exe I can ship ?
Dave Kreskowiak wrote:
I'd look into the obfuscators. Nothing is going to prevent a determined schmuck from reversing the code, but then again, they could do the same to C++ source too.
Yeah, you can never stop it, but I want to be able to tell the client I've done what we can.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
I am facing a similar dilemma.
But, one thing is clear, ngen.exe is NOT the solution for this purpose due to following reasons:
1. The image created by it on a particular machine / processor may not work on another one.
2. Even the idea of creating an image by using ngen.exe on the client machine itself at the time of every such installation may not work for the simple reason that your "real" assembly is still required to be in place in its application directory for the reason "in case it is required in future". So what you have is like this: while your application in the ngen cache will be in the native code (leading to some source-code protection), your assembly is still available in your application directory for eveyone to see its source code through disassembers like ILDASM or Reflector. The reason for the "real" assembly's presence is that the subsequent changes made in the system, etc., may make the native image created through the ngen.exe a useless file, thereby again requiring the "real" assembly. This is as adviced in the documentation itself.
3. Moreover, as per documentation, the basic purpose of ngen.exe is to create a native image for faster run-time experience (to avoid the Just-in-time compilation). The basic purpose of ngen.exe is NOT to make the source code protected from the prying eyes; it is just a limited by-product of the native image.
Obfuscation is also of limited utility, because it may hide names of your user-defined symbols (fields, methods etc.), but the in-built library names / symbols are still for everyone to see, which is more than sufficient for a good programmer to get enough clues. A good obfuscator may help even to prevent decomilation to some extent, but disassembly is more or less not prevented to the extent required.
One does not know how far a solution such as Salamander's .NET Protector would protect the source code, though they claim that the source code is not disassembled if their product is used.
Apparently, this is the biggest drawback of .NET.
When Dave says that even C++ code is not fully safe, perhaps he is right. But, then it is a question of "scale". In C#, what can be seen is your complete class structure with full details which even a naive programmer can understand. But, in C++, what you can disassemble is only non-transparent "sequential" assembly-language code, which is not easy for everybody to decipher. One may still say that a good programmer may not even have to look into your source-code, he may simply re-create a replica of your application just by looking at its features. But, I hope we are trying to keep our source-code safe from "most" people. Absolute is never possible. Optimazation (and relative) is the answer.
Regards
|
|
|
|
|
Yeah! What he said!
I don't have time to type something as long as Ashok.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I had also thought on similar lines. But, the problem areas in this approach could possibly be:
1. When ultimately the assembly is decompressed and decrypted just before its actual execution, it will either be in the form of a temp file (or may some other form of a physical file) or may be in the byte stream form. At that time, it is in its raw / source code form, and so if copied from there, it is exposed to the same risk.
2. Memory-dump at the time of the execution.
So, perhaps some further refinements may be required.
However, to be fair, something is better than nothing. Such a method can definitely keep it secret from "most" people if not all, and that is what should perhaps be the goal too.
|
|
|
|
|
|
|