|
I found a flag in my linker options - /nodefaultlib:"msvcrtd.lib", after removing it CWinApp::ParseCommandLine works.
But the linker now gives me a warning:
LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library
Is this warning a problem?
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
I imagine you're linking a library which is trying to link a
different CRT version.
All warnings are problems IMO.
If it were me, I'd definitely track it down and try to fix it.
If you use the app wizard to create a temporary MFC project,
you'll get a good default set of settings. Compare those to yours...
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I'm not sure what the cause is exactly but I may be able to offer some help finding it. Clearly you're using MFC and ParseCommandLine is going to be relying on the MFC startup code to provide it with the command line data. This in turn will be getting the data from the C Runtime startup code which runs before MFC gets started. This code in turn gets the command line arguments from the Windows Portable Executable Loader which gets them from the actual 'command line' via Windows itself.
Somewhere a link in this chain has broken and no command line parameters have been stored or passed on to the next stage.
I would start by tracking back the C Runtime startup code to a point where the command line is available e.g. __mainCRTStartup and then track it forward to find where the broken link is. I strongly suspect it will be between the C Runtime and MFC, probably because you need to call some MFC startup code that you aren't calling before calling ParseCommandLine.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
Matthew Faithfull wrote: Somewhere a link in this chain has broken and no command line parameters have been stored or passed on to the next stage
But CWinApp::m_lpCmdLine shows the command line I give correctly. Could it be that ParseCommandLine tries to get it's params from a different avenue?
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
Yes, it looks like it might be going back to the CRT which may have had its copies deleted for some reason by this stage. If MFC has the data you want then as a last resort you could simply write/override your own function to access it.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
Hi all i am new to vc++.
In my application i want to change the textcolor in the combobox dynamically is there a way by which i can do this????
Thanks in advance...
|
|
|
|
|
Yeah sure there is, though if the control exists on a dialog you have more limited options when it comes to easily colouring the background.
If the control exists on a dialog, you may have the following code inside your DialogProc
case WM_CTLCOLORLISTBOX:
SetTextColor((HDC)wParam, RGB(250, 100, 0));
return TRUE;
If the control exists on a normal window, you can return a handle to the brush used to draw the background.
case WM_CTLCOLORLISTBOX:
SetTextColor((HDC)wParam, RGB(250, 100, 0));
return GetStockObject(LTGRAY_BRUSH);
on receipt of the message, lParam = the HWND of the list box. You may want to check the value of this param if you have more than one list/combo box and you'd like them to have different colours.
|
|
|
|
|
How can i convert MFC datetime to MFC string? Thank you.
|
|
|
|
|
|
Hi everybody, need to view pictures that have tif format, by using CImage class.Any idea will be appriciated. Thanks.
|
|
|
|
|
Documentation says
CImage Class
CImage provides enhanced bitmap support, including the ability to load and save images in JPEG, GIF, BMP, and Portable Network Graphics (PNG) formats.
I cant see TIFF in the list
What about Image class of GDI+??
Or you don't/can't use GDI+??
I hope it helps..
Regards,
Sandip.
|
|
|
|
|
thaks for your reply i am only allowed to use CImage class
|
|
|
|
|
susanne1 wrote: thaks for your reply i am only allowed to use CImage class
In this case this article might help you
Transparent Bitmap
Regards,
Sandip.
|
|
|
|
|
SandipG wrote: I cant see TIFF in the list
The docs are incorrect.
CImage uses GDI+ to load images, and TIFF images are supported.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: CImage uses GDI+ to load images, and TIFF images are supported.
Is it?? Thanks I didn't know.
Mark Salsbery wrote: The docs are incorrect.
I checked it with MSDN.. I should be careful next time..
Thanks for the information.
Regards,
Sandip.
|
|
|
|
|
SandipG wrote: I checked it with MSDN.
I checked it by writing code and testing it
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: I checked it by writing code and testing it Poke tongue
Regards,
Sandip.
|
|
|
|
|
What are you having problems with?
Here's a little example...
CImage img;
img.Load(_T("C:\\somepath\\some.tif"));
CClientDC dc(pWnd);
img.Draw(dc, 0, 0);
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hi All
how can i make a application which is auto run? I mean when system is start then application is run.Plz help me
singh
|
|
|
|
|
Add a key inside
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
At least on XP it should work.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Can you explane example..
singh
|
|
|
|
|
well, do you understand what "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run " is ?
do you know regedit ?
can't you just write such an entry for you application in this registry key ?
|
|
|
|
|
i know what is regedit..
Well i am useing Dialog Application.Can you tell me how can i use it?
Plz help for lerner..
singh
|
|
|
|
|
polopo wrote: Can you tell me how can i use it?
Use what?
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
- Launch regedit tool.
- Open the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
key.
- Issue the add string value command adding the path of your application.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|