|
Anon E. Mouse wrote:
The problem may not be the CString, but how you are viewing the result.
Thanks, i had realised this earlier when i was debugging
i didnt realise that not all of the strings contents were being displayed
when i watched that variable
i just assumed that the watch value was the whole value
thanks anyway
si
|
|
|
|
|
hehehe that's exactly where I was going. I've been stung by that one before too, unitl I realized what was going on.
Artificial intelligence is no match for natural
stupidity.
Never argue with an idiot. They will drag you down to their level where they are an expert.
|
|
|
|
|
Not sure if this is a VB question or not, but I'll post it here anyway.
I've written an activeX control which uses a mutex to protect a critical section part of my code, I use CreateMutex and OpenMutex to create/open the mutex, then waitForSingleObject to grab it, ReleaseMutex to release it.
If I stick this activeX control on a VB form, and create an .exe from the form. I can open as many of the exe's as I like and the mutex is only opened by one of the exe's at a time.
However when I put multiple ActiveX controls on the one form, create an exe from that. When I run this single exe, the multiple controls can open the mutex at the same time, and run the critical section code simultaneously. Is this beacuse all the controls are running from the same thread?
How can I get round this? I want my code protected but can I do this with having the controls on the same form?
|
|
|
|
|
You may not need to use a mutex. How about just jacketing the critical section part of your code with a static CCriticalSection ?
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Do you mean using the Lock & Unlock methods of CCriticalSection? I've never used it before, had look at MSDN and tried the following:
I created a static CCriticalSection object and called Lock / Unlock to protect my critical section of code, but it has the same effect as the mutex, all the controls the critical code at the same time.
|
|
|
|
|
Tamster wrote:
Do you mean using the Lock & Unlock methods of CCriticalSection?
Yes.
Tamster wrote:
I created a static CCriticalSection object and called Lock / Unlock to protect my critical section of code, but it has the same effect as the mutex, all the controls the critical code at the same time.
Did you use a static CCriticalSection ? (You should).
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Yes, I declared it as static.
It didn't seem to work when the Lock() was called, Stepped through the code it just incremented the CCriticalSection member m_sect.LockCount each time the Lock() was called for each of the controls, it didn't prevent any of the controls from entering the protected code.
All I done was call Lock() and Unlock() before and after my protected code. I've never used CCriticalSection before. Have I missed out some initialisation step?
|
|
|
|
|
Tamster wrote:
All I done was call Lock() and Unlock() before and after my protected code.
Yes, that's all you need to do. Odd it doesn't block multiple threads. It works fine for me.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
|
I've realised why the CCriticalSection doesn't work.
I think all my controls belong to the same thread since they are all on the same form. CCriticalSection only allows one thread at a time access to the critical section. This is no good for me since they all are on the same thread.
Using Semaphores don't work either as a thread will block while waiting for a seamphore to become available, however this is the same thread that will release the semaphore, so it'll never become available.
|
|
|
|
|
Gotcha!
How about using a poor man's critical section by opening a file for exclusive access? You can restrict this to provide exclusion within an app, across apps, or both.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
hi all
i am haviing in executing the string.
when i do with system(string) it opens the console window but i don't want this.
i have the string as
"D:\Work_Ganesh\Installer\components\Authenticate.dll" .
I want to execute this how should i execute this.
|
|
|
|
|
dll are not executable files (no entry point).
you have to point a function (into that DLL) from your code...
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
|
How can I solve the unexpected EOF eror?;)
|
|
|
|
|
Well, you can test for the EOF flag (assuming you're talking about file I/O operations).
I Dream of Absolute Zero
|
|
|
|
|
MilanZ wrote:
How can I solve the unexpected EOF eror?
How can we know where you're wrong ?
what is the context ? (your code, and the error description)...
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
|
I think this error occurs because of precompiled headers isn't it ? Then you need to go to the "file view", right click on the *.cpp file that generates the error -> settings/ C++ tab / choose precompiled headers category and then select 'don't use precompiled headers'. It should be something like that (from memory but I'm not sure if these are the exact names ).
|
|
|
|
|
My Project is SDI, in MainFrame class, I use OnCreateClient(...) to splitter window. And I want to change style of one view after user click a button on the toolbar.
How to update window by recreate window style like as using Invalidate() function to redraw??
Can anybody help me, please? Thanks a lots!
don't stop me now!!!
|
|
|
|
|
Is this[^] article usefull ? With this class you can create two different views and 'store' them on the same pane (one will be visible and the one wich is beyond is not visible). Thus, on command, you can switch the two views.
So your code would look also a little bit better: if the two views you need to display needs to be handled differently...
Hope this helps
|
|
|
|
|
thank you. My problem have solved.
And to My project interface become friendly and more useful. I only want to split into 3 view. And in left view, I have many my functions and store them in left panel like as tabbed control with some CPeropertyPage class. My software is used to control device, so I want all event occur at each page must be outted as logs on second view. I can't access data and invoke function in Document class from these page.
Please help me solve this problem.
Thanks.
don't stop me now!!!
|
|
|
|
|
Informs the documents of the changes you make in one view so it will take the appropriate actions (send the 'update' data to the second view).
Try to avoid having direct 'dialog' between two views: normally they should be totally independant. It is the document that must update them and have a knowledge of what's happening in one view (so to keep the other up to date)
|
|
|
|
|
Hi everybody, i am writing some functions for arithmetic operations with Huge numbers(more than 1000 digit), i am using CString class and i treat CString objects like numbers,for example :
CString s1,s2,s3;
s1="625";
s2="25";
s3=Divide(s1,s2); // now s3="25"
I have to convert Huge numbers to binary, so using simple algorithm(dividing by 2,...) is too slow, so i decided to convert these numbers first to Hex then from Hex to binary,(as converting to Hex to Bin is very fast as you know)
i thought it would make my func faster but it takes approximately the same time ?? Does anybody know why ?? or have any ideas??
Regards
m0n0
m0n0
|
|
|
|
|
Are you saying that you're using your own custom functions that perform mathematical functions on numerical strings that can run to a 1000 digits?
I Dream of Absolute Zero
|
|
|
|