|
Simple return without doing anything from your validation function.
you can do that by checking the text if it is empty do nothing.
|
|
|
|
|
I have two classes (of my own creation) that I instantiate in my app.
public partial class MyForm
{
MyObject1 m_myObject1;
MyObject2 m_myObject2;
}
I have another class (ThreadData) that contains objects of those two classes as well (and I use the same names for the variables in this class as I do in the app).
public class ThreadData
{
MyObject1 m_myObject1;
MyObject2 m_myObject2;
}
In a function, I create an instance of ThreadData, and use clones of the app's objects to set the objects in ThreadData. When I try to compile, I get this message:
error CS0052: Inconsistent accessibility: field type 'MyForm.MyObject1' is less accessible than field 'MyForm.ThreadData.m_myObject1'
Even if I don't use Clone(), it still gives me the same errors. Why?
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
What's the accessibility on your MyObject1 type? m_myObject1 is public, so basically MyObject1 has to be the same.
|
|
|
|
|
Here's a better example of what I'm doing.
public class MyObject1 {}
public class MyObject2 {}
public class MyData
{
public MyObject1 myObj1;
public MyObject2 myObj2;
public SetData(MyObject1 ojb1, MyObject2 obj2)
{
myObj1 = obj1;
myObj2 = obj2;
}
}
public partial class MyForm
{
private MyObject1 myObj1;
private MyObject2 myObj2;
private void MyFunction()
{
MyData data = new MyData();
data.SetData(myObj1, myObj2);
}
}
That should be perfectly okay.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
That compiles for me. Is that the exact code?
www.wickedorange.com
www.andrewvos.com
|
|
|
|
|
It basically means that m_myObject1 is accessible, but its type, MyObject1 , is not. Something like
internal class B
{
}
public class A
{
public B b;
}
In the example above, A.b is public, but the class B is not.
|
|
|
|
|
What does "shelve" and "unshelve" mean exactly in TFS?
I am accustomed to VSS with "undo changes."
|
|
|
|
|
Hi,
Can someone help me with this scenario please.
I need to hard code the comparison of a double with the double value returned from a datatable.
The user is using a language that has the comma as a decimal separator.
double dbValue = <gets the="" value="" from="" table="" and="" returns="" it="" as="2,1">
if(dbValue < 2.1) then blah blah blah
How do I hard code the "2.1" value or is there some way to globally have .net do this.
Thanks,
|
|
|
|
|
Glen Harvy wrote: The user is using a language that has the comma as a decimal separator.
C# still uses period as decimal separator. A literal double value is always written as 2.1 in the code, regardless of any cultural settings.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Thanks but it seems that my question may have been misleading.
If the current culture is one that uses comma's as decimal separators, why does the following throw an error..
double x = <get double="" value="" from="" dataset="">; // <-- no worries - returns 2,0
if(x > 2.1) <--- throws an error.
double y = Double.Parse("2.1", System.Globalization.CultureInfo.InvariantCulture.NumberFormat);
if(x > y) <---- will this fix above error?????
Thanks,
Glen Harvy
|
|
|
|
|
Glen Harvy wrote: double x = ; // <-- no worries - returns 2,0
Where do you get the value from?
Glen Harvy wrote: if(x > 2.1) <--- throws an error.
Why do you think that? There is nothing wrong with that line.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Sorry I put the source of x in brackets.
x is obtained from a datatable. The value of which is a double and as the culture is SK, I assume it's returned as 2,0 .
Glen Harvy
|
|
|
|
|
Irrespective of the culture settings, if you have a double, comparing it like if(d > 2.1) will work as expected*. Can you show some more code?
* Not exactly, but for a different reason. You should instead use if((d - 2.1) < Double.Epsilon)
Cheers,
Vikram.
The hands that help are holier than the lips that pray.
|
|
|
|
|
Glen Harvy wrote: x is obtained from a datatable. The value of which is a double and as the culture is SK, I assume it's returned as 2,0 .
No, as it's a double it's not formatted into something like "2,0". It's just a numierical value, and there isn't a decimal separator at all. It's first when you format a number into a string that a decimal separator character is used.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
OK...
How is the "2.1" being converted to a numeric then? In other words, the hard coded part of the equation?
I don't see how .Net can recognise it as a double because it hasn't got a "," in it.
What's good for the goose must be good for the gander
Glen Harvy
|
|
|
|
|
Glen Harvy wrote: I don't see how .Net can recognise it as a double because it hasn't got a "," in it.
The C# language always uses period for decimal separator, regardless of any culture settings. When you write a literal value in the code, it's always written the same.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
hi,
i can some english. i hope you understand to my questions.
my question:
- there are a computer. this computer only allow port 21 for internet connection.
- i need connecting a webservice with this copmuter.
- i will develop a windows application for this work... possible? you are help me for this work?
Best regards from Istanbul..
|
|
|
|
|
Port 21 is generally reserved for FTP, while web services generally are exposed on port 80 (HTTP), and the issues is can you make an outgoing connection request on port 80. If not, then you cannot succeed, since you can't change the port the web service runs on (unless you are providing the web service rather than just connecting to it as a client).
|
|
|
|
|
(unless you are providing the web service rather than just connecting to it as a client).
thanks for your interest.
my web service on the a web site(www....com.tr/service/service.asmx).
please you write a short sample code with c# for this work(for windows application).
|
|
|
|
|
This normally is not done in code (and can't be done on just the client side). The owner of the web service would have to configure the web service to listen on port 21, and the client would have to query on that port. If you are implementing web service code using C# and .Net 3.0 (servicemodel namespace), the just modify the endpoint addresses in the configuration files or code for both client and server (replace :80 with :21 in the endpoint address).
|
|
|
|
|
Hi,
I need start IE in new window without addressbar, status bar but I cannot use kiosk mode (I need defined window size).
I need to know the processID of the IE process also.
Im using this code now:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "C:\Program Files\Internet Explorer\IEXPLORE.EXE";
p.StartInfo.Arguments = "http://google.cz";
p.Start();
int pid = p.Id;
It starts the new IE window and returns its PID, but I don't know, howto hide address bar, status bar and so on..
Then I tried this approach:
System.Type oType = System.Type.GetTypeFromProgID("InternetExplorer.Application");
object o = System.Activator.CreateInstance(oType);
o.GetType().InvokeMember("menubar", System.Reflection.BindingFlags.SetProperty, null, o, new object[] { 0 });
o.GetType().InvokeMember("toolbar", System.Reflection.BindingFlags.SetProperty, null, o, new object[] { 0 });
o.GetType().InvokeMember("statusBar", System.Reflection.BindingFlags.SetProperty, null, o, new object[] { 0 });
o.GetType().InvokeMember("addressbar", System.Reflection.BindingFlags.SetProperty, null, o, new object[] { 0 });
o.GetType().InvokeMember("Visible", System.Reflection.BindingFlags.SetProperty, null, o, new object[] { true });
It starts IE window without address bar, status bar.. but I don't know, howto find processID of this instance..
Please help..
Regards,
Petr
|
|
|
|
|
I may not understand the question but can you not just embed the webbrowser object onto a new form and then display the new form?
At university studying Software Engineering - if i say this line to girls i find they won't talk to me
Dan
|
|
|
|
|
Thank You for this good idea, but I cannot use it.
I need start the webbrowser as a selfstanding application and not as a part of my programm..
Petr
|
|
|
|
|
Then make an app with th WebBrowser and use Process.Start
|
|
|
|
|
And howto do it please?
Thanks Petr
|
|
|
|