|
Thanks for the response.
The funny thing is though, that it does work for a while. At the moment the UI freezes, the app is retrieving data from a database with a succession of datareaders. In other words it is repeating the same task over and over (with different parameters each time ofcourse).
If we consider your theory, why does the UI not freeze right away?
My advice is free, and you may get what you paid for.
|
|
|
|
|
Johan Hakkesteegt wrote: The funny thing is though, that it does work for a while. At the moment the UI freezes, the app is retrieving data from a database with a succession of datareaders. In other words it is repeating the same task over and over (with different parameters each time ofcourse).
If we consider your theory, why does the UI not freeze right away?
Your description of the problem reinforces my theory You usually find that the UI becomes unresponsive when there are repetitive tasks...
|
|
|
|
|
The UI thread is busy doing all of your operations. It would appear that every once in a while, the thread is freed to process the Window's message pump, thereby processing all the WM_PAINT messages for the window, which means you get to see your progressbar and window title updates.
So long as the thread is busy doing other things, these paint messages do not get processed, thereby looking like the application hung.
You have little choice but to move these operations to a seperate thread and have this processing code fire off progress messages every once in a while. The UI thread will be able to process these messages immediately, while your processing thread does it's job. You may want to look into using the BackgroundWorker class make this process easier.
|
|
|
|
|
Hello,
Is there a way to define a function that have an optional parameter whith value = today as following:
private function f(optional d as date =today)
end function
Thanks
Shay Noy
|
|
|
|
|
Yes, VB.NET does support this. I don't use VB.NET, so you'll need to google for the syntax.
http://www.google.com.au/search?sourceid=navclient&ie=UTF-8&rlz=1T4ADBS_enAU225AU226&q=vb%2enet+optional+parameter[^]
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
In C# it is OK too, can you show me how?
Thanks
Shay Noy
|
|
|
|
|
No
Google[^]
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
What is suppose to be?
No
Google[^]
Shay Noy
|
|
|
|
|
Did you click on the link Christian provided you?? It lists a bunch of articles on the use of optional parameters in C#.
|
|
|
|
|
Yes , I ve checked but I didn't find what I am looking for.
Thank you
Shay Noy
|
|
|
|
|
I've read the first three articles in the list Christian gave you. Yes, the answers to the C# Optional Parameter problem you're looking for are there.
They all start by saying that C# doesn't support optional parameters. Then they go into possible solutions to get aorund this limitation. If you bothered to read them, you would have found this out.
|
|
|
|
|
I know I saw it
"...The case he makes is pretty straightforward, namely, that C# doesn't support optional parameters and forces you to use overloading..."
They say that overloading is solution. It is what you suggested to me in one of our correspondence below.
What I've searched was optional date parameter with default value [today].
Thank you
Shay Noy
|
|
|
|
|
Yep. C# doesn't support option parameters, no matter what the type of the parameters are.
The absolute #1 skill you can have as a developer/programmer/whateverYouWantToCallIt is the ability to do research, not write code. You searched for a VERY specific occurance of a situation and stopped there. You didn't generalize your search parameters at all when you Googled for "optional date parameter with default value". You should have opened this up to possibly more hits by searching for "C# optional parameters".
|
|
|
|
|
Thank you for the tip
Shay Noy
|
|
|
|
|
No, despite my pleading, the C# team refuses to impliment them. They are stuck on the idea that it has to be complicated ( i.e. support for named parameters, etc )
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
No.
you can not specify an expression/variable while defining an optional parameter.
it needs to be a constant......
Ashish Sehajpal
|
|
|
|
|
Try this :-
Function f(Optional Byval d as Date = nothing) as object<br />
If d = nothing then<br />
d=System.Date.Today<br />
End If<br />
' rest of your code here<br />
End Function
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
Thank you , this is what I am doing but this function is a part of a dll that I wrote and it is used by 5 different programmers.
When they used this function then instead of seeing that the optional date is set to today they see that the optional date is set to nothing (#12:00:00#). It is not very elegant for the programmer.
Shay Noy
|
|
|
|
|
Agreed, but I see no other solution. I would suggest that you add a metadata description to the function and detail what will happen if the date passed to the function is nothing.
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
|
In works in VB.NET 2005 and 2008. On the line emmediately above the function, sub, property etc type 3 single quotes ie ''' The rest is done for you.
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
You right it works if the function, sub , property are as part of the same project. But try to write a dll, add ''' in one of your function and use this dll in one of your applications, it will not work.
Shay Noy
|
|
|
|
|
Then forget the optional parameter and write an overloaded function, one that takes a Date parameter and one that doesn't. In the one that doesn't, you simply declare an internal variable that's set to todays date.
|
|
|
|
|
|
Hi all,
I'm developing an application in VB2005.Net 2.0 and I would like to use a C header file that contains many structs that I need in the project. This structs are going to change quite often so I wouldn't like to migrate the structs from the C file to VB code each time that the header file changes. The best thing for me would be to include the '.h' file directly into my project so I could access it directly.
Is it possible to do it in any way? Could it be possible to do it encapsulating the '.h' file into a library and then reference it from the VB project?
Thanks in advance for any idea you have,
Marc Soleda
... she said you are the perfect stranger she said baby let's keep it like this... Dire Straits
|
|
|
|