|
Chesnokov Yuriy wrote:
Have you tried that link yourself?
Of course yes.
In order to put satellite assemblies to work for you first need to ensure that System.Threading.Thread.CurrentThread.CurrentUICulture matches to the spanish culture.According to the msdn this property is determinated with calling GetUserDefaultUILanguage from the Windows API.The UI language is the language used for all UI elements of the OS.The System.Threading.Thread.CurrentThread.CurrentCulture property is the default processes and threads culture.You can easy set it from the control panel/regional options.
To test your spanish translation just set System.Threading.Thread.CurrentThread.CurrentUICulture to spanish and don't worry to mush about default behavour of this property-it just depends on the user settings.
Life is a stage and we are all actors!
|
|
|
|
|
hello
i had download the code for Reverse Geocoding with C# and MapPoint 2009 and run the code in VisualStudio2005 compiler , but it give compilation error
"Retrieving the COM class factory for component with CLSID {31851F82-AFE6-11D2-A3C9-00C04F72F340} failed due to the following error: 80040154."
plz any one suggest me how to remove this error and run it.
N.B > it contains an MapPoint dll file 'Interop.MapPoint.dll'
waiting an response
regards
sadab
|
|
|
|
|
Hi,
I have thread which runs in a separate class and I wanted to modify the form controls from my thread class.
I saw lots of articles describing cross threading, but all are having the thread in the same class.
It would be very very helpful to me, if somebody can help me to solve this issue.
Thanks a lot in advance,
Shaheer
|
|
|
|
|
Use BeginInvoke and Endinvoke function
|
|
|
|
|
Hi,
here is my view[^] on the subject.
Luc Pattyn
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
Good reference. I always use the self-marhsalling approach for any event handler that does not come in from MY event handlers as they may be running on an alternate thread. I much prefer BeginInvoke to Invoke to avoid blocking issues -- IMHO, BeginInvoke should be the default pattern unless there is reason to block the caller or there is some other reason why the calls need to be syncronized. Typical MVC scenarios don't require such coordination, an event happens, the UI handles it by posting a message to itself, and when it gets context, it updates itself.
|
|
|
|
|
vtpdawg wrote: IMHO, BeginInvoke should be the default pattern
I don't agree. When SetText() is the method to set a Control's Text property, and you call it from the main thread, it does not invoke a thing, and runs synchronously. Calling it from another thread should not behave differently. If synchronous operation is not guaranteed, then call it SetTextSynchronouslyOrAsynchronously!
vtpdawg wrote: I much prefer BeginInvoke to Invoke to avoid blocking issues
Delegating towards the main thread should never take long as in a well designed app the GUI is always responsive, hence the main thread itself basically does not block.
Luc Pattyn
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
Sometimes you WANT your background thread to update a GUI object, and you KNOW there won't be any race condition. .NET has a convenient way of disabling cross-thread checking for a given class:
Label.CheckForIllegalCrossThreadCalls = false;
This disables the annoying cross-thread complaints from .NET (in this case for Label objects) when you know there won't be any conflicts.
|
|
|
|
|
... and wait for the app to break later long after you've finished it and can't work out why - It's easy enough to handle it the correct way so I see no point in taking this risk.
Dave
"My code works, but I don't understand why!" - DaveyM69 (Me) BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
Note the qualifier, "...and you KNOW there won't be any race condition...".
|
|
|
|
|
Problem -: How to add an function in existing dll. For eg: Suppose 'Abc 'is a dll and is referenced in an xyz project, now i want to add function in 'Abc' dll such that i dont to rereference the xyz project.
|
|
|
|
|
I am not quite sure if I understand correctly.
I wonder if extension methods are what you are looking for. .NET 3.5 Extension methods are a way of adding functionality to an existing type.
Read more here
Cheers,
Daniel
|
|
|
|
|
Actually i don't have code of Abc dll and i want to add a function in that. and this Abc dll is referenced in my xyz project.
Now if i use extension method then i have to create separate namespace 'bcd' and then create a new extension method on that and then if i build my project a new dll will be created which i don't want.
|
|
|
|
|
Member 6392036 wrote: Now if i use extension method then i have to create separate namespace 'bcd'
Says who?
|
|
|
|
|
Message Closed
modified 23-Nov-14 7:29am.
|
|
|
|
|
exactly i dont have any source code of that dll yet i want to add a function in that dll. how can i do that.
|
|
|
|
|
Without resorting to hacking the binary, you can't!
|
|
|
|
|
Below is the header file.can anyone please give a idea to call the callback function below.
Dll name is client.dll
//Function Prototype
int PASCAL EXPORT RegisterCallbackFunctions (TCallbacks CallbackFuncs);
//Data Structure
struct TCallbacks
{
LPONUSSDREQUEST m_pOnRequest;
LPONUSSDRESPONSE m_pOnResponse;
};
//Prototypes
typedef int (*LPONUSSDREQUEST) (HANDLE hLoginInstance, HANDLE hDialog, DWORD *pdwAppParam);
typedef int (*LPONUSSDRESPONSE) (HANDLE hLoginInstance, HANDLE hDialog, char szString [ ], DWORD dwAppParam);
I have already got the hloginInstance and hDialog functions,But I need help in calling the callback function.
regards,
Jeanix
Sh@Re
modified on Monday, October 26, 2009 6:48 AM
|
|
|
|
|
You need to post this in the C++ forum if it is a header file.
CCC solved so far: 2 (including a Hard One!)
|
|
|
|
|
Hi friends, can someone explain me the difference between the two Method of Monitor class? Becouse with VS2010 the TryEnter Method will will become obsolete.
Thank you.
Bye bye
|
|
|
|
|
Monitor.Wait is not a replacement or alternative for Monitor.TryEnter. The current method
bool TryEnter(Object obj) is being obsoleted because the suggested replacement is
void TryEnter(Object obj, ref bool lockTaken) So there isn't really any major change, just that the boolean will now be returned as a by ref parameter instead of a return value from the method.
(If you want to know the reasons for why the old TryEnter is being made obsolete you can read about it here[^])
Monitor.Wait()[^] is totally different. It basically releases the lock on an object and blocks the current thread until a different thread called Monitor.Pulse() to signal that the thread can reacquire the lock and continue.
Simon
|
|
|
|
|
if i write this way, then it works:
System.Diagnostics.Process.Start(@"C:\\if.log");
But if i want the text from other label like label3.Text, and it has the same path, then it doesnt work.
System.Diagnostics.Process.Start(@"{0}", label3.Text);
I make the user to open the file, then the label saves the file path and if the program needs to open the file, then it doesnt work, it works only if i write the path myself. Maybe someone knows how to use this method without saving the path to a label, then that would be better. Can someone help me with this please?
modified on Monday, October 26, 2009 6:32 AM
|
|
|
|
|
With the second way, you don't need to type double slashes into the text box because the text box already handles this. Could that be the problem?
You also don't need the @ sign if you are putting double slashes in the string. (Or keep the @ sign and you don't need to use double slashes.)
If not, try posting more details about what "doesn't work". Does it cause an exception? Post the type, message and a stack trace from the exception.
Simon
|
|
|
|
|
Thank you Simon, it worked without @ . The double slashes are because it puts automatically when it gets the path. I have tested it, to see how looks the path, and it used double slashes.
|
|
|
|
|
slavakr wrote: it worked without @
Cool.
The double slashes are because the single slash in a string is an escape character, so you can't just have one on it's own. The first escapes the next character.
So in the string "c:\test" the \t will become a tab (see here[^])
So instead it's common to put "c:\\test" which means the first slash just escapes the second and the string will become a correct path.
If you want to have a string without escape characters, you can put the @ sign at the beginning, and it will not use any escape sequences in the string. So @"c:\test" will not escape the t like it would if you missed out the @ sign. So with the @ sign in place, there is no need to use double slashes.
There's more about escape characters on Wikipedia[^]
Simon
|
|
|
|