|
I'm having trouble giving command line arguments to VS.NET 2003 in debug mode without opening a prompt.
My debugging properties are as follows.
Command: cmd.exe
Command Arguments: -input test.scn -output test.tga.
(basically input scene description file and output image file)
When I start the debugger, argc is always 1, which means only the executable name was found in the command line. So my arguments are never read. I tried setting input to "test.scn", and output to "test.tga" in main(), same result (input and output are c++ strings in the main function). I also tried setting the working directory to .\Debug. without success. The test.scn file is in my project's Debug folder.
What am I missing?
Cheers, blackmesa.
|
|
|
|
|
Not sure about VS.NET 2003, but under VS6 you can specify command-line parameters under the Project Settings...
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
Well I'm specifying the arguments from the Project Properties, which is pretty much the equivalent of Project Settings under VC 6.
Cheers, blackmesa.
|
|
|
|
|
Hello,
I am try to create a virtual desktop on windows 98SE and 2000.
Basically what I'm trying to do is to set the desktop to be twice as wide as the screen resolution. e.g. 2048x768 for the desktop and 1024x768 for the minitor resolution. Windows should then allow you to simple scroll the monitor (view port) left/right over the desktop... Easy..
So what I have tried is the SystemParametersInfo() call with the SPI_SETWORKAREA flag. However this call returns NULL, so I called GetlastError() and this returns 87 (INVALIDE_PARAMETER) This I think is due to the security mask ?? any ideas please..
Or better still have anyone written this and has some source.
Brgds Ian Knight
|
|
|
|
|
Hello Friends,
How can I know the users of the system and which is the header file one has to go through for knowing the system properties like type of OS, users of the system, network card and its address etc.,
Thank you
Neelesh K J Jain.
|
|
|
|
|
|
Hello,
When I compile the code at realese I get;
error C2065: 'IDD_LOGIN' : undeclared identifier
But when I run it in debug I don't get it.
How can I fix this?. Please help me.
|
|
|
|
|
Looks like you may have put your #include "resource.h" line (or the line that #include s your dialog's .h file) between the #ifdef DEBUG .. #endif block. It needs to be outside.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
where can i change that??
|
|
|
|
|
Well, it's a little hard to say without having had the chance to look at any of your source code. My guess is the problem lies in the .cpp file of a dialog class.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Well this is the error I get,
error C2065: 'IDD_LOGIN' : undeclared identifier
error C2057: expected constant expression
IDD_LOGIN is not the main dialog window,
but I don't now way it happends. But it only happends when I make a Release version.
|
|
|
|
|
Like I said, it may help if you posted some source code.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Well I can't send some code *Company code* but here is some
class CNetEyeLogin : public CDialog
{
// Construction
public:
BOOL GetProgramDir(LPTSTR str, DWORD dwSize);
CString m_PassOK;
void OnCancel();
void OnOK();
CNetEyeLogin(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CNetEyeLogin)
enum { IDD = IDD_LOGIN }; // Here is whare I get the error
CString m_Pass;
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
Like a said enum { IDD = IDD_LOGIN }; is where I get the error.
I Hope this help you a little bit.
|
|
|
|
|
So is the #include "resource.h" line missing/misplaced (as I mentioned in my original reply)?
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
#include "resource.h" is set in the main dialog *.h file
like this;
// NetEye.h : main header file for the NETEYE application
//
#if !defined(AFX_NETEYE_H__B769970B_B16E_4786_8362_1DEB876E5438__INCLUDED_)
#define AFX_NETEYE_H__B769970B_B16E_4786_8362_1DEB876E5438__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CNetEyeApp:
// See NetEye.cpp for the implementation of this class
I don't have it in the dialog *.h file that makes the error.
|
|
|
|
|
Larsson wrote:
I don't have it in the dialog *.h file that makes the error.
Try adding it.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
He he he ,
Well it works thank !)
|
|
|
|
|
i have this class :
using System;<br />
using System.Windows.Forms ;<br />
using System.Data.SqlTypes ;<br />
using System.Data ;<br />
using System.ComponentModel;<br />
<br />
namespace WindowsApplication1<br />
{<br />
public class DateTextBox : TextBox<br />
{<br />
<br />
public DataSet1 myDataSet ;<br />
<br />
private SqlDateTime m_dateValue ;<br />
[Bindable(true)]<br />
public SqlDateTime DateValue<br />
{<br />
get{return m_dateValue;}<br />
set{m_dateValue=value ;}<br />
}<br />
<br />
public DateTextBox()<br />
{<br />
}<br />
}<br />
}
when i want to bind DateValue property of above class to SqlDateTime like this :
dateTextBox1.DataBindings.Add("DateValue",dataSet11.stud,"date1") ;
this runtime error display :
An unhandled exception of type 'System.InvalidCastException' occurred in mscorlib.dll
Additional information: Invalid cast from System.DBNull to System.Data.SqlTypes.SqlDateTime.
please help ,please.
|
|
|
|
|
TehMedic wrote:
Additional information: Invalid cast from System.DBNull to System.Data.SqlTypes.SqlDateTime.
Based on that error message my first guess would be you have NULL values in your table which cannot be cast to SqlDateTime values.
"No matter where you go, there your are." - Buckaroo Banzai
-pete
|
|
|
|
|
yes.
when i add a new line, default value in all of fields of table will be DBNull value.
|
|
|
|
|
I am writing an app that has a property sheet and a few property pages. All of the property pages have a list control in them. The app scans through log files and adds the lines found to one of the various property pages list controls. The problem I have is that the app crashes if I havent actually clicked the tab to call initdialog. Yet if I try and do a create in the main applications initdialog then it crashes as well.
Here is basically what I have
m_pPropertySheet = new CPropertySheet("Some sheet");
m_pSomePage = new CSomePage();
m_pPropertySheet->AddPage(m_pSomePage);
m_pPropertySheet->Create(this,WS_CHILD,NULL);
m_pPropertySheet->ShowWindow(TRUE);
if I try create on m_pSomePage then it crashes later on as I try to view it so I am confused at how to initialize it and the list control before someone clicks it which then forces the initdialog to finally be called.
|
|
|
|
|
What's the difference between Multi-threaded and Multi-threaded DLL?
Also, in VS.Net, I can set the project properties to multi-threaded,
C/C++ -> Code Generation -> Runtime Library: multi-threaded.
If I set it there, am I creating an application that is multi-threaded?
Thanks
-----------------------------
C++ without virtual functions is not OO. Programming with classes but without dynamic binding is called "object based", but not "object oriented".
|
|
|
|
|
I have to assume you are talking about the CRT linkage specification.
If it doesn't say dll then you are statically linking to the CRT library.
If it does say dll then you are dynamically linking to the CRT dll.
If it says multi-threaded then you are linking to a thread safe version. This version will allow you to have two threads call a CRT function that is not normally thread safe due to global state information e.g. strtok. The thread safe version allocates thread local state memory for these functions, but obviously introduces more overhead.
Alex Ngai wrote:
If I set it there, am I creating an application that is multi-threaded?
No. If you create more than one thread then you are creating a multi-threaded application. If you do this you will likely want to link against a mutli-threaded CRT.
...cmk
Save the whales - collect the whole set
|
|
|
|
|
Hi CMK,
I still don't understand what is the difference between
multi-threaded and multi-threaded DLL.
Okay, it is a win 32 project, which contains 4 more projects
inside that project. Those 4 projects each create an DLL file
that is going to be used by an executable created by that project.
So, the big picture is like this:
project.exe, a.dll, b.dll, c.dll, d.dll
You said that if it doesn't say multi-threaded DLL, then I
am statically linking to the CRT library. And if it does say dll
then I'm dynamically linking to the CRT dll.
What does that mean?
In a project like I mentioned above, should I set all four DLL files
to multi-threaded DLL?
Another un-related question:
In your profile, you said you've been using C++ since 89, and you
said there was no STL, exceptions or template. Could you tell me,
were they parts of C++ specification back then? Or just no
compilers supported yet?
Thanks
-----------------------------
C++ without virtual functions is not OO. Programming with classes but without dynamic binding is called "object based", but not "object oriented".
|
|
|
|
|
For your situation you will likely want to use the multi-threaded dll for each of your 5 projects. If you use a non-dll option then each module (exe and each dll) will have been statically linked to the CRT library.
Each module is unaware of the others and therefore initializes its own CRT state. For example, each will initialize a heap to be used by alloc/free. So, if a.dll alloc()'s some memory that memory will come from a.dll's CRT heap. If you then call free() on the memory in project.exe you will get an error as project.exe is trying to free in its CRT heap. This is also true for one module using fopen() and another trying to use the handle - boom.
If you specified that you want all modules to link to the CRT dll then the dll is only initialized once and all your modules will use the same heap. Memory allocated by one can be freed by another.
Unless i have a specific reason to do otherwise i generally link to the CRT multi-threaded dll.
Alex Ngai wrote:
In a project like I mentioned above, should I set all four DLL files
to multi-threaded DLL?
And project.exe as well. ALL have to link to the CRT dll. Having just one that is statically linked will create another CRT state, with the aformentioned problems.
Alex Ngai wrote:
... there was no STL, exceptions or template. Could you tell me,
were they parts of C++ specification back then? Or just no
compilers supported yet?
I don't remember there being STL at all. Exceptions and templates had prelim spec's (if i remember right) but i don't remember any compilers supporting them (Borland, Watcom, Zortec).
... did a quick check (http://computing.unn.ac.uk/staff/cgar1/cpptext/node4.html)
- AT&T C++ translator 1.0 released to the public in late 1985.
- Commercial compilers began to appear in 1988, Zortec and GNU
- C++ moved into the mainstream of programming languages with Release 2.0 in June 1989
Major manufactures provide C++ products for their platforms. Borland release a Turbo C++ Compiler.
- ANSI C++ Committee formed in late 1989.
They approved templates and exception handling.
- In late 1991 template implementations were provided by Borland and by AT&T/USL Cfront Release 3.0. Others soon followed.
- At the moment (1993) no implementations supporting exception handling are available.
So, i was more or less right. It also explains why i sometimes use templates, but never exceptions - template support was added early enough that i hadn't become too set in my ways.
...cmk
Save the whales - collect the whole set
|
|
|
|