Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
L

lctrncs

@lctrncs
About
Posts
52
Topics
9
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • PlaySound(MAKEINTRESOURCE, IDR_WAVE_RANDOM... problem
    L lctrncs

    Thanks to everyone at CodeProject! It appears that the original post may not be clear. Therefore, consider the following code snippet which includes much more information about the problem and the (failed) attemtps to resolve it. Again, for reasons this beginner has yet to understand, PlaySound works fine with a filename constructed from a CString and a random number (/path/filename1.wav), but fails when concatenated CStrings are used to create a resouce identifier (IDR_WAVE_1). Please consider the code and coments below.

    //Create random resource ID (similar approach used to create random wave file names)

    int m\_nRandomSound;
    m\_nRandomSound = getrandom( 500, 509  );		//Place the random number into the variable n\_nRandomRecord
    
    CString m\_sStrRandomSound;						
    m\_sStrRandomSound = "";
    
    CString m\_sStrRandomResourcePrefix;			//Create the resource prefix
    m\_sStrRandomResourcePrefix = "IDR\_WAVE\_";
    
    m\_sStrRandomSound.Format("%d", m\_nRandomSound);	//Convert the random integer to a CString
    

    //Concatentate the strings into the resource identifier
    CString m_sStrRandomResourcePrefixWav;
    m_sStrRandomResourcePrefixWav = m_sStrRandomResourcePrefix + m_sStrRandomSound;

    //Set the resource identifier directly
    CString m_sStrRandomResourcePrefixWav2;
    m_sStrRandomResourcePrefixWav2="IDR_WAVE_503";

    //
    //
    //Demonstrate function similar method that plays sounds using concatenated CString of path/filename
    PlaySound(m_sStrRandomSoundPathWav, GetModuleHandle(NULL), SND_FILENAME|SND_SYNC );
    //PLAYS from concatenated CString
    //(e.g. \path\filename?.wav - where ? is an integer converted to a CString)

    PlaySound(MAKEINTRESOURCE(IDR_WAVE_503), GetModuleHandle(NULL), SND_SYNC|SND_RESOURCE );
    //PLAYS IDR_WAVE_503
    //which is directly entered an not subtituted in any way
    //
    //
    //ATTEMPTS TO EMPLOY CONCATENATED STRING TO PLAY RANDOM WAVE FILE

    //PlaySound(MAKEINTRESOURCE(m_sStrRandomResourcePrefixWav), GetModuleHandle(NULL), SND_SYNC|SND_RESOURCE );
    //error C2440: 'type cast' : cannot convert from 'class CString' to 'unsigned short'
    //included for completeness

    //PlaySound(IDR_WAVE_503, GetModuleHandle(NULL), SND_SYNC|SND_RESOURCE );
    //error C2664: 'PlaySoundA' : cannot convert parameter 1 from 'const int' to 'const char *'
    //included for completeness

    PlaySound(m_sStrRandomResourcePrefixWav2, GetModuleHandle(NULL), SND_SYNC|SND_RESOURCE );
    //Compiles b

    C / C++ / MFC c++ help question lounge learning

  • PlaySound(MAKEINTRESOURCE, IDR_WAVE_RANDOM... problem
    L lctrncs

    The BOOL PlaySound( LPCSTR pszSound, HMODULE fdwSound, DWORD fdwSound) comes from the "Multimedia: Platform SDK" section of the Visual C++ 6.0 MSDEV documentation. This specific use of the MAKEINTRESOURCE macro is documented in the "Technical Articles" section of the Visual C++ 6.0 MSDEV documentation in a file called "Moving Your Game to Windows, Part III. Does this answer you question?

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ help question lounge learning

  • PlaySound(MAKEINTRESOURCE, IDR_WAVE_RANDOM... problem
    L lctrncs

    Thank you for responding. BOOL PlaySound( LPCSTR pszSound, HMODULE fdwSound, DWORD fdwSound) There are two arguments: LPCSTR (pszSound) and HMODULE (fdwSound) pRandomSound and GetModuleHandle(NULL) and two flags: DWORD fdwSound SND_SYNC|SND_RESOURCE Thanks again. I hope this answers your question.

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ help question lounge learning

  • PlaySound(MAKEINTRESOURCE, IDR_WAVE_RANDOM... problem
    L lctrncs

    The need to compile wav files into a Doc/View plus modeless dialog MFC program led to abandoning a functioning mechanism to play random wav files:

    PlaySound(“m_sStrConcatenatedStringWithPath”,NULL,SND_FILENAME|SND_SYNC);

    (where sStrConcatenatedStringWithPath = “/path/201.wav” etc.) and adopting:

    LPTSTR pRandomSound = m_sStrConcatenatedStringResource.GetBuffer(0);

    PlaySound(MAKEINTRESOURCE, pRandomSound, GetModuleHandle(NULL), SND_SYNC|SND_RESOURCE);

    m_sStrConcatenatedStringResource.ReleaseBuffer(0);

    (where m_sStrConcatenatedStringResource = “IDR_WAVE_201” etc.). ...that fails to play the wav files even when...

    PlaySound(MAKEINTRESOURCE, IDR_WAVE_201, GetModuleHandle(NULL), SND_SYNC|SND_RESOURCE);

    will play the IDR_WAVE_201 resource. Many attempts experimenting different ways to cast the CString to the LPTSTR and obtaining the handle to the executable led to the code above, which still will not play the random sound resource. Suggestions?

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ help question lounge learning

  • Opening a running process programmatically
    L lctrncs

    I am a beginner who wants to restore the main window of a clock program that resides in the System Tray when running. What I want to do programatically is done normally by right clicking on the clock program's icon in the System Tray, then selecting "Restore Main Window" from the context menu. I have tried many things, and the closest I can get is using SetForegroundWindow, which will only work when I have already selected "Restore Main Window" from the context menu and then minimized the restored main window. I think I must be missing some fundamental concept about what I am trying to do. Consider the pseudocode below... void MyApp::OnLaunchSysTrayApp { CWnd*m_hWnd = FindWindow(NULL, "System Tray Application Name") if (m_hWnd) { m_hWnd->SetForegroundWindow(); //Displays restored main window if not on top //m_hWnd->GetWindow(NULL); //Fails //m_hWnd->ShowWindow(SW_RESTORE); //Fails //m_hWnd->SetActiveWindow(); //Fails BOOL m_bIconic; m_bIconic=m_hWnd->IsIconic() if (m_bIconic) { //m_hWnd->GetWindow(NULL); //Fails //m_hWnd->ShowWindow(SW_RESTORE); //Fails //m_hWnd->SetActiveWindow(); //Fails } etc. } } I would appreciate any suggestions about how I might achieve my goal, or information about whatever basic concept I (probably) currently fail to understand. Thank you.

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC learning

  • Need to call FormatRange member of a richedit control in a modeless dialog from the view class
    L lctrncs

    Thanks for responding Mark. Please assist me by educating me when I am not saying things correctly. I am trying to learn through this process, and working alone and without [programming] training (or any level of programming talent :wtf: ) can make programming a challenge. By “code running in a view class” I assume you are referring to the OnPreparePrinting virtual function I mentioned in my question (or perhaps one or more of the other virtual functions associated with printing from the view class such as OnPrepareDC). Similarly, I assume your reference to “modal dialog” in your response refers to the modeless dialog I mentioned in my question. You suggest that I might accomplish my by sending a message to the dialog (such as EM_FORMATRANGE), which is not directly accessible to the view because it is running in a different thread. One of my problems is that I am not sure that I have correctly created my dialog and my access to it appears inconsistent. In one part of my program (immediately after dialog creation) statements such as mDlg->OnDialogFunction(); appear to work fine, while in other parts of the program (such as OnPreparePrinting) this tactic fails. This may be embarrassingly bad programming practice; however, it accomplishes my goal ;) which is important in the absence of continuous cognizant collaborators. I will explore this clue. Thank you for your assistance.

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC help tutorial question

  • Need to call FormatRange member of a richedit control in a modeless dialog from the view class
    L lctrncs

    Thanks for responding led mike. You state,

    led mike wrote:

    It's such a shame there is no way to maintain the application session data in a single location

    Is this true? Or is there a way to accomplish maintaining the session data in a single location – perhaps the model and design you refer to. At the beginning of my project, I spent a great deal of time “Applying UML and Patterns.” However, a serious illness permanently interrupted the collaboration I had with an expert programmer who encouraged me to develop expanded use cases, flow charts and a “conceptual model” of my program. Recognizing that your message might be sarcastic, I reviewed these documents and realized that my program already contains series of functions that provide access to the user and internal data the program employs in its operation. It appears that the interruption of the collaboration with the expert programmer may have occurred at a critical moment in that I had not yet, and still do not, fully understand what I have been doing as I worked to continue the development of my program without my expert collaborator. Perhaps if I had studied programming in college as my collaborator (and many others) did, my task might be easier. However, the modeless dialog I mentioned is the interface to a flat file database I created and from which I hope to print information from numerous records I have synthesized into single record. Therefore, returning transient data present in the richedit control at a certain point in time remains useful (although the advantage of this was not evident during the design of the program). If I understood how to solve my problem (or had correctly anticipated future needs in my model and design) there would no reason to turn to experts like you or a site like CodeProject for a bit of help, a friendly conversation or an educational response. Working in isolation can be a challenge in any discipline (physical biochemistry is a personal favorite), and it is good to have a place where you can ask questions and receive accurate, precise, concise and information rich responses. It is easy to laugh at those who seek to learn from you (and even misdirect them as a means of providing future entertainment), so a community like CodeProject in which shared enjoyment of programming, interpersonal respect and dedication to mutual aid trumps petty personal attacks is critically important. Thank you again for your response, which s

    C / C++ / MFC help tutorial question

  • Need to call FormatRange member of a richedit control in a modeless dialog from the view class
    L lctrncs

    I am a amateur programmer trying to print the contents of a richedit control as suggested by the article "how to print the contents of a rich edit control" by Roger Allen. Since my richedit control is in a modeless dialog (instead of a SDI) I am unable to simply use the control variable of the richedit control and the SetTargetDevice and FormatRange members of the RichEditCtrl class in MyView::OnPreparePrinting as suggested: "m_Control.FormatRange(NULL, FALSE)" etc. I have tried a number of (crazy?) things to gain access to the dialog and richedit control that I want to print without success including: CWnd* qDlg; qDlg=CWnd::FindWindow(NULL,_T("Dialog Title")); then trying to access the control etc. Perhaps (probably) this is something simple that I do not yet understand and hope that others can help me solve (and understand) this problem. Any suggestions? Thanks.

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC help tutorial question

  • Make MFC View "read only" while allowing viewing, scrolling etc.
    L lctrncs

    Thank you! EM_SETOPTIONS with the ECO_READONLY flag set rings the bel when the user attempts to edit the view, and does allow scrolling. Thanks again! It appears you are the person who helped me before. Your assistance is very much appreciated!

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC question c++ database architecture learning

  • Make MFC View "read only" while allowing viewing, scrolling etc.
    L lctrncs

    The MFC SDI program has a document/view architecture and a dialog based flat file database. At times, 1. the rich text in the view must be "read only" (preferably the user is unable to obtain focus in the view) 2. while the user makes changes to the database 3. and saves the changes to the document as a whole (which of course does not contain any changes to the rich text the user can read but not edit in the view). At other times, all parts of the document view and database are availble for edit and save. QUESTION: How does one prevent changes to the view while allowing full "read only" access (including scrolling) of the rich text in the view (preferably from OnInitialUpdate), and still allow editing and normal file save (savemodified and dosave) for the (changed) dialog-based database? NOTE: Using PretranslateMessage in the Doc file traps keyboard input for a partial resolution, however, it also disables the scroll bar so only one page of the view may be displayed. SUGGESTIONS? Thanks.

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC question c++ database architecture learning

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    Drums!? My little band needs a drummer badly. Do you like Pink Floyd? Do you live anywhere near Colorado? When you get close with your product, send me a version and I will happily test it for you. I once turned down a full time job teaching college for a six-week gigue testing network protocol analyzers for HP. I stayed a year and a half, then came back as a full consultant. Those were the days! Testing is specialty of mine and since you have been so helpful, I would gladly punish your software for you. Bwaahahahahhaaaa! If you send me your email address through that web site I sent you to, we can both avoid public postings. Best of luck. Groff PS: Thanks for the heads up on the download error. I experienced the same thing and learned that the problem occurs when the complete file does not download. It is about 5.5 meg, so it is probably easy to try to start early. I will probably put up a little warning page in my "free time." GS

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ question testing beta-testing help

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    Mark, Thank for all your help. This feature is becoming a bit too much for my current schedule. Chances are that I will return to it at some point. However, for right now I am going to have to put this on the back burner because I need to generate some income (through freelance writing) and find a way to protect my Doc/View based content files (six are ready for posting) so that they cannot be edited and then misrepresented as the work of my company. Since setting the "read only" bit on the file will not be permanent enough, I thought I might save a flag with my original files then override DoSave to prevent saving if the flag is set. Another way might be to somehow embed the file in the program itself, so each content file distributed from my company comes with a program, again with DoSave = NULL in the Save As function or some such thing. This approach has the added benefit that I could distribute the content using Armadillo (which I use to provide 30 day trial functionality) which is not able to protect simple unzippers and non-executables. Since the second approach probably requires the completion of the first, it looks like that will be my starting point. Thank you again. Your posts were very educational, useful and well written. If you were on my team, I'll bet you could fix all of the problems I plan to spend the next 6 months beating my head against the in an afternoon. Thanks again. I hope you enjoy your "greetings seasons." Take the rest of the year off. Groff Schroeder

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ question testing beta-testing help

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    I just was not sure that if (!CDocument::OnOpenDocument(lpszpathname) return FALSE; was the same as CDocument::OnOpenDocument However, I thought I understood you to say that both were to be removed for the success of the CreateFile. I attempted this, but encountered problems when I removed the calls to the base classes. Below, please find a matrix indicating the results of a quicky test of the various possibilities. Column 1 2 3 4 5 OnOpenDoc base class code 0 1 1 1 1 OnSaveDoc base class code 0 0 0 1 0 CreateFile code 1 1 0 1 0 First app opens file? 0 1 1 1 1 First app saves file? x Inv. Hndle 0 Acc.Den. 0 Open second file instance? x 0 1 0 x It appears that the best results occur in column two and four, in which the app opens the file and prevents use by a second app while it has it open. However, both of these configurations result in exceptions when the user attempts to save the file. Note that the base class calls appear to be required for function of the open and save capabilities. It appears that the challenge revolves around restoring functional save capabilities when the base class calls are not present and the CreateFile code is, or overcoming the Access Denied exception that occurs when the open and save base class calls are present in conjunction with the CreateFile code.

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ question testing beta-testing help

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    You appear to be correct about the failure of other attempts to open the file once I have it open with CreateFile. Such attempts yield a Sharing Violation message. However, the Access Denied exceptions upon attempts to save the primary file and the Invalid Handle exceptions upon attemtps to close the primary instance of the application with the file open or closed remain an issue. X| It appears that I am not even gaining access to the file to save it, AND something else seriously wrong associated with CreateFile is interfering with nominal shutdown of the program. :confused: You can look at an earlier version of the program at www.studypartnernow.com. I wonder if the flat file database that also contributes to the file structure might be part of my problem with the CreateFile. Groff

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ question testing beta-testing help

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    THANK YOU! I wonder if the problem stems from the flat file database I have hanging off the doc/view. CODE FOR CreateFile call etc. From StudyPartnerDoc.cpp file ///////////////////////////////////////////////////////////////////////////// /////////////////// OnOpenDocument ////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// BOOL CStudyPartnerDoc::OnOpenDocument(LPCTSTR lpszPathName) { if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE; //Get a pointer to the view POSITION pos = GetFirstViewPosition(); CStudyPartnerView* pView = dynamic_cast( GetNextView(pos) ); //Tell the view that its got a new data set if (pView) pView->NewDataSet(); ///////////////////////////////////////////////////////////// // Attempts to prevent file overwrite when multiple copies of app open the same file ///* //CreateFile and dwsharedmode to prevent make file read only when one instance is using it //opens the file - but "access denied" passed through to program on save after First Chance Exception m_hFileLock = CreateFile( lpszPathName, GENERIC_WRITE|GENERIC_READ, // access (read-write) mode //0, //attempt to use "query device attributes without accessing the device." 0,// share mode NULL,// pointer to security descriptor OPEN_EXISTING,// how to create FILE_ATTRIBUTE_NORMAL,// file attributes NULL); // handle to file with attributes to copy //FILE ATTRIBUTES TRIALS //FILE_ATTRIBUTE_NORMAL - crash on save //FILE_ATTRIBUTE_TEMPORARY - access denied //FILE_FLAG_WRITE_THROUGH - First Chance Exception on save //FILE_ATTRIBUTE_HIDDEN DestroyDialog(); //Ensure that the Study Dialog is closed return TRUE; } ///////////////////////////////////////////////////////////////////////////// /////////////////// OnSaveDocument ////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// BOOL CStudyPartnerDoc::OnSaveDocument(LPCTSTR lpszPathName) { if (!CDocument::OnSaveDocument(lpszPathName)) return FALSE; //////////////////////////////////////////////////// // Close the file handle opened for CreateFile and dwShareMode CloseHandle( m_hFileLock ); return TRUE; } /////////////////

    C / C++ / MFC c++ question testing beta-testing help

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    Oops - getting crispy in crunch mode. I added and overrode (I think) an OnSaveDocument function, not an OnSaveFunction or OnSaveRecord. Thanks for all your help.

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ question testing beta-testing help

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    Thanks for another clue. I added an OnSaveDocument by hand since the classwizard stopped allowing me to add new member functions a while back. Sadly, overriding OnSaveDocument and using CloseHandle to close the file handle resulted in no change in the program's behavior (I did not check how a second instance of the application's attempt to open the file). I still receive the access denied messge in the primary program when I try to save. I defined a handle in the Doc.h file so both functions could see it. Since I do not understand how CreateFile is working in concert with OnOpen/SaveDocument (and have precious little time to learn) it is difficult for me to proceed. I can probably release my new version as is with it's numerous cosmetic and operational improvements (you can see the current version at www.studypartnernow.com) and just warn users about this issue. I hate to take your time. Any other suggestions?

    Mark Salsbery wrote:

    Apparently I'm bitter about the Doc/View architecture.

    I used to be a Microsoft evangelist - until I worked on the launch of Windows 95 as a "Remote Service Engineer." Microsoft technology COULD have been mega cool, but it appears to me that at some point money became the primary motivation for operations, and everything has been downhill ever since on the technical side, especially in the absence of viable competition.

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ question testing beta-testing help

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    Mark Salsbery wrote:

    Some would say with MFC Doc/View you can expect many more years of the same.

    As a biochemistry type, I find programming to be like an incredibly difficult puzzle. You can move the parts around and try them here and there, and eventually they fit. I am trying to learn what the parts are and how they fit together, but my numb biologist's brain may not be correctly configured for such endeavors. Thank you for the nice clue. Including a CreateFile function passing a dwSharedMode 0 in my OnOpenDocument allows me to open a file when I use the lpszPathName of OnOpenDocument as the first argument in the CreateFile function. If I then try to open the file a second time using a different instance of my app, a "sharing violation" message appears. If I try to save the first instance of the file using the first instance of my app, a First Chance Exception occurs that passes "access denied" back to the program. I have tried various file attributes, but am probably doing something more basic wrong. Any suggestions?

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ question testing beta-testing help

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    Thank you for the nice clue. Including a CreateFile function passing a dwSharedMode 0 in my OnOpenDocument allows me to open a file when I use the lpszPathName of OnOpenDocument as the first argument in the CreateFile function. If I then try to open the file a second time using a different instance of my app, a "sharing violation" message appears. If I try to save the first instance of the file using the first instance of my app, a First Chance Exception occurs that passes "access denied" back to the program. I have tried various file attributes, but am probably doing something more basic wrong. Any suggestions?

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ question testing beta-testing help

  • Multiple application instances-how prevent multiple file instances or file overwrite
    L lctrncs

    Thank you for responding. Won't this collide with my existing code for opening files?

    "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." Richard Feynman, Minority Report to the Official Report on the Space Shuttle Challenger Crash

    C / C++ / MFC c++ question testing beta-testing help
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups