|
That's clear.
What's not clear to me is what you're having trouble with.
You can pop up a modal dialog when your app starts running.
If the login fails you exit the app or loop and show the dialog again.
If the login succeeds, create the MDI window.
That's one way to do it. FWIW, that's what I do in my apps.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: You can pop up a modal dialog when your app starts running.
that is my requirement.. how do i do that?
|
|
|
|
|
Using DoModal() . I think you should read about creating a dialog
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
modified on Friday, March 28, 2008 2:25 AM
|
|
|
|
|
i am aware of DoModal function.
i want a dialog box which pops up when the MDI application.exe is clicked. only once the login and password is correct the control should go to the application.
|
|
|
|
|
How many times does he have to tell you the same thing?
If you're aware of the DoModal member function of a CDialog, then go ahead and use it. Fail. Change your code again, try!
What I did not see in your questions was any evidence that you have tried and failed to do anything. People come here to help, not to bottle feed.
BOOL CMyApp::InitInstance()
{
... some initialisation code?
CMyPasswordDlg dlg;
if (dlg.DoModal != IDOK)
return FALSE;
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
return FALSE;
m_pMainWnd = pMainFrame;
... etc as normal
return TRUE;
}
Iain.
ps, No, I'm not coming to your workplace to type it for you.
Iain Clarke appears even though he's grumpy.
|
|
|
|
|
i did try in my code.. but just that i dint tell u what i did and how i did. i dont expect anybody to bottle feed me.
well thanks for the help
|
|
|
|
|
Ok, glad to hear it - and I apologise a little. Did you progress further with the gappy code I showed you?
Iain.
Iain Clarke appears because CPallini still cares.
|
|
|
|
|
Have you even bothered to look in your app's InitInstance() to see what normally goes on during startup? Have you tried to call DoModal() somewhere in there?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
i have actually got it done...desinging the screen and the implementation is done.now i need to work on the validation.. will come with some queries if i get stuck somewhere.
thanks..and i am using a MFC.
|
|
|
|
|
Are you using MFC or straight Win32 APIs?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Ok, maybe I shouldn't, but you are the community I rely the most on,
so I'll make this attempt...
This is not a real C++ question (though my GetFileName.exe was built with it!)
I have an EXE files that gives a string output. If i write in dos prompt
set ans=GetFileName file.txt<br />
@echo %ans%
I correctly obtain
file .
If I write the same in a BAT files I retrieve
<br />
GetFileName file.txt
which means the cmd hasn't resolved the command.
What should I do to obtain the same result...?
Tnx a lot!
|
|
|
|
|
from memory (dim and dark recesses mind you) you'd have to do something like
for %%f in ('GetFileName file.txt') do set ans = %%f
@echo %ans
the single quotes around GetFileName file.txt are the dos equivalents of the unix back-tick (and yes the double %% signs are intentional)
Im not sure if the for stmt needs a /F or another switch though - maybe you can google something like 'dos batch for' ...
'g'
|
|
|
|
|
Garth J Lancaster wrote: ...you can google something like 'dos batch for' ...
Typing for /? at a command prompt will suffice.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
thanks ... as usual I forgot the most obvious
|
|
|
|
|
Capitanevs wrote: I have an EXE files that gives a string output. If i write in dos prompt
set ans=GetFileName file.txt
@echo %ans%
I correctly obtain
file.
What OS are you using? I tried this and the echo statement printed what I would expect: GetFileName file.txt
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi,
I'm looking for a way to change what this points to. I want to make a function that essentially does this = new InstanceOfAClass(value, this), for a linked list, but but I can't figure out how.
I feel like this is a pretty basic question, but I can't find the answer. Thanks,
-Ken
|
|
|
|
|
Assigning a value to "this" is no longer allowed.
You should be creating new object instances, possibly with the help of proper
copy semantics - assignment operator overloading and copy constructor.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Haha, that explains why my attempts to do it all failed. Thanks,
-Ken
|
|
|
|
|
I'm trying to use PSAPI.DLL - but I need the psapi.lib file that supports the DLL. (I get linker errors without it.)
(TryPIDs2 error LNK2001: unresolved external symbol "int __stdcall EnumProcesses(unsigned long *,unsigned long,unsigned long *)" (?EnumProcesses@@$$J212YGHPAKK0@Z)
Can anyone tell me where I can find the LIB file. Searches on MS's site yield lots of data on PSAPI and the function calls - and numerous references to "Use PSAPI.LIB" - but nothing on the lib file itself. There is also a redistributable SDK for WinNT that contains the DLL - but no LIB.
I'd appreciate any help and advice about this.
|
|
|
|
|
I wasnt aware that there was a lib for PSAPI.DLL - I think you use loadlibrary and reference the entry points 'manually'
there should be a few projects here on CP that use PSAPI.DLL, grab one and read its code ...
'g'
ps.. that doesnt mean to say that one couldnt create a lib, using DUMPBIN, a .def file etc, but I beleive thats fraught with danger
pps.. a quick google suggests that the required .LIB file is in the Windows Platform SDK - not sure how accurate that info is
|
|
|
|
|
|
dean9359 wrote: (TryPIDs2 error LNK2001: unresolved external symbol "int __stdcall EnumProcesses(unsigned long *,unsigned long,unsigned long *)" (?EnumProcesses@@$$J212YGHPAKK0@Z)
Dynamically load function from the dll, i.e. by using LoadLibrary and GetProcAddress!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|
|
Thanks.
LoadLibrary and GetProcAddress are the answer!
There was an interesting sticking point regarding the use of FARPROC (A compiler error - C2564) that is addressed in a microsoft KB item: http://support.microsoft.com/kb/117428[^]
modified on Friday, March 28, 2008 4:14 PM
|
|
|
|
|
dean9359 wrote: LoadLibrary and GetProcAddress are the answer!
My pleasure
|
|
|
|
|
Hi,
I created a DLL that exports an API for a GUI to use.
The GUI call the API and when the function returns, it expects to have some value set in the memory sent to the API, so far so good.
The DLL itself implements the API by sending some information over CAsyncSocket.
Here is my problem,
When I send the data from the DLL to the client, I basically need to block until the client returns my packet back. I do that using a HANDLE set up as an event.
When the client would return my call the OnReceive of the socket would get called and then I would set the event.
However.....
It seems like the blocking (WaitForSingleObject (event, INFINITE)) seems to prevent the listening socket from receiving the reply. Once the blocking is commented out, I get the reply from the client. The problem is that if I remove the blocking my API returns right away and the the GUI has nothing in the buffer
I know this can be solved with some threading and callbacks and so on. BUT... the listen socket should be a thread of it's own and not be affected by the infinite wait of WaitForSingleObject .
what am I missing ?
|
|
|
|