Click here to Skip to main content
16,010,334 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Can you Execute a DLL ? Pin
Gary R. Wheeler6-Nov-01 2:47
Gary R. Wheeler6-Nov-01 2:47 
GeneralRe: Can you Execute a DLL ? Pin
Steen Krogsgaard6-Nov-01 4:00
Steen Krogsgaard6-Nov-01 4:00 
QuestionHow to check if the local path is network shared ? Pin
Miroslav Rajcic5-Nov-01 20:55
Miroslav Rajcic5-Nov-01 20:55 
QuestionConvert MFC Toolbars to Taskbars?? Pin
MaTrIX2k25-Nov-01 18:35
MaTrIX2k25-Nov-01 18:35 
AnswerRe: Convert MFC Toolbars to Taskbars?? Pin
Michael P Butler5-Nov-01 22:00
Michael P Butler5-Nov-01 22:00 
GeneralProblem with CHoverButton::LoadBitmap in Netscape Plugin (DLL) Pin
5-Nov-01 17:33
suss5-Nov-01 17:33 
GeneralHelp with CMutex and DB access Pin
Bill Wilson5-Nov-01 12:58
Bill Wilson5-Nov-01 12:58 
GeneralRe: Help with CMutex and DB access Pin
Joaquín M López Muñoz5-Nov-01 22:21
Joaquín M López Muñoz5-Nov-01 22:21 
It is just a question of how many threads (considering the whole project) access the same resource (in this case, the DB). If it's more than one, then you're better off having the resource protected by a named (interprocess) mutex.
My recommendation is that you stay away from MFC wrappers around synchronization objects, as they're counterintuitive and in some cases broken. Native Win32 mutexes are not so hard to use directly. Here's a starter for a simple class that access a named mutex (or creates if needed), locks on it and releases the lock on destroy. The use is simple: just define a CMutexAccesor object at the beginning of each critizal zone. Use some unique string as lpstrMutexName (like your project name followed by a lot or garbage digits, or a GUID if you're into these). Warning: I've adapted this from some code of mine in Spanish, so some typos are likely to have been introduced.
class CMutexAccesor
{
  public:
    CMutexAccesor(LPCTSTR lpstrMutexName){
      res=(mutex=CreateMutex(NULL,FALSE,lpstrMutexName))!=NULL;
      if(res){
        // Wait up to 4 secs for locking
        res=WaitForSingleObject(mutex,4000)==WAIT_OBJECT_0;
        if(!res)CloseHandle(mutex);
      }
    }
    ~CMutexAccesor(){
      if(res){
        ReleaseMutex(mutex);
        CloseHandle(mutex);
      }
    }

    BOOL res;

  private:
    HANDLE mutex;
};
Hope this helps.

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
GeneralRe: Help with CMutex and DB access Pin
Bill Wilson6-Nov-01 5:25
Bill Wilson6-Nov-01 5:25 
GeneralRe: Help with CMutex and DB access Pin
Joaquín M López Muñoz6-Nov-01 6:59
Joaquín M López Muñoz6-Nov-01 6:59 
GeneralRe: Help with CMutex and DB access Pin
Bill Wilson6-Nov-01 7:53
Bill Wilson6-Nov-01 7:53 
GeneralRe: Help with CMutex and DB access Pin
Joaquín M López Muñoz6-Nov-01 9:03
Joaquín M López Muñoz6-Nov-01 9:03 
GeneralRe: Help with CMutex and DB access Pin
Bill Wilson6-Nov-01 10:21
Bill Wilson6-Nov-01 10:21 
GeneralSetting a CEditView to read-only Pin
Simon Walton5-Nov-01 12:48
Simon Walton5-Nov-01 12:48 
GeneralRe: Setting a CEditView to read-only Pin
PJ Arends5-Nov-01 14:16
professionalPJ Arends5-Nov-01 14:16 
GeneralDLL/App Memory Allocation Pin
Steve The Plant5-Nov-01 11:09
Steve The Plant5-Nov-01 11:09 
GeneralRe: DLL/App Memory Allocation Pin
Joaquín M López Muñoz5-Nov-01 11:19
Joaquín M López Muñoz5-Nov-01 11:19 
GeneralRe: DLL/App Memory Allocation Pin
Steve The Plant5-Nov-01 11:41
Steve The Plant5-Nov-01 11:41 
GeneralRe: DLL/App Memory Allocation Pin
Joaquín M López Muñoz5-Nov-01 12:08
Joaquín M López Muñoz5-Nov-01 12:08 
GeneralRe: DLL/App Memory Allocation Pin
Steen Krogsgaard6-Nov-01 4:16
Steen Krogsgaard6-Nov-01 4:16 
GeneralRe: DLL/App Memory Allocation Pin
Joaquín M López Muñoz6-Nov-01 6:43
Joaquín M López Muñoz6-Nov-01 6:43 
GeneralRe: DLL/App Memory Allocation Pin
Steen Krogsgaard6-Nov-01 22:01
Steen Krogsgaard6-Nov-01 22:01 
GeneralPut value in the registry Pin
Peter Liddle5-Nov-01 10:32
Peter Liddle5-Nov-01 10:32 
GeneralRe: Put value in the registry Pin
Christian Graus5-Nov-01 10:36
protectorChristian Graus5-Nov-01 10:36 
GeneralRe: Put value in the registry Pin
Carlos Antollini5-Nov-01 10:58
Carlos Antollini5-Nov-01 10:58 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.