|
Is pWindow NULL?
Is this NULL?
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
Raffi wrote:
The truth about C++
Not the first time the raw truth was disguised as satire to protect the author. Great "joke";)
|
|
|
|
|
Although I could see the attempt at humour, I didn't like it because all of it's premises are wrong. For something to be funny, it usually needs a grain of truth and every criticism I saw of C++ in the article was plain wrong.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
Maybe the difference, Christian, lies in the fact that, in my many years of attempting to learn the language, I've found every point to be true. I'm sure there are good reasons for each of these language "features" and I'll learn them when I get that far along, but to me they are all huge obstacles. Published elsewhere, not as obvious humor, I would read it as truth with hardly any argument.
Humor, like so many things, lies in the eye of the beholder.
|
|
|
|
|
I won't bother arguing with you then.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
void CView::GetWindowTitle()
{
CWnd* pWindow;
if(pWindow)
{
pWindow = GetActiveWindow();
pWindow->GetWindowText( m_strWindowText );
}
}
My miniputt high is now 29
I do not think I can improve on that
My temperament won't hold
www.busterboy.org
|
|
|
|
|
|
Oops!!!
I feel silly. I overlooked the 'CView' part of it
Nish
My miniputt high is now 29
I do not think I can improve on that
My temperament won't hold
www.busterboy.org
|
|
|
|
|
I just switched over from 6.0 to .NET and now i cannot access a few of my dialogs. These dialogs come up and say 'The ActiveX control "Microsoft FlexGrid Control, version 6.0" could not be instantiated because it requires a design-time license.'.
Does this mean i can't use this control without paying MS more money?!?! and if so where would i go to find out how much a license costs? i just dont get it.. it let me use it in 6.0, how is .NET more functional when it takes away my available controls!?
any insight would be much appreciated!
-dz
|
|
|
|
|
ThatActiveX does not exist in .NET,I think if you install VC6 at the same machine then you can use it again.
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
Ah, I did format before instaling .Net, thanks for the help!
by the way.. is there a different grid that they expect us to use for C++ in .NET? I saw under 'Customize toolbox' in the '.NET Framework Components' something called 'DataGrid', i see it is checked off but it isn't in my toolbox.. is this what i should be using?
-dz
|
|
|
|
|
dazinith wrote:
I saw under 'Customize toolbox' in the '.NET Framework Components' something called 'DataGrid
I think we can't use that DataGrid in VisualC++(at least I don't know how),there are some powerfull DataGrid here in CP,I use them in my applications,If you don't know their address,I can send them for you.
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
I'd like to instantiate a pointer to a template class but I'm not sure if its possible.
I'd like to do something like this:
Cx<cz>* x;
x = new Cx<cz>; // or x = new Cx<cz>();
x->whatever=...;
|
|
|
|
|
Use 'display this message as-is (no HTML)' option - your code is screwed without that.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Thanks Tomasz,
Here is the code that I would like to do (Cx is the template class, z is some other class):
Cx<z>* x;
x = new Cx<z>();
x->whatever = ...;
|
|
|
|
|
|
This is the error i get:
error LNK2001: unresolved external symbol "public: __thiscall Cx<class z="">::Cx<class z="">(void)"
|
|
|
|
|
Sorry, here it is "as-is"
error LNK2001: unresolved external symbol "public: __thiscall x1<class z>::x1<class z>(void)"
|
|
|
|
|
This is a problem with your #include files, or a missing library. It can see the header for x1, but cannot find anything to link it to.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
|
It seems that you have the methods of your template class defined in .cpp file. You should move them to the header.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
You were right. I had the methods in a cpp file.
|
|
|
|
|
I tend to try things first to see if they work and ask why if they do not
std::string * pString = new std::string;
std::vector<int> * pInt = new std::vector<int>
The above compiles fine for me.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
Can anyone tell me what (obvious to everyone else) piece I'm missing? The following code doesn't work when run as a service. It runs fine when run through the IDE. All it does is set a timer. The SetTimer returns a valid number, but the TimerProc callback is never hit.
Any ideas?
Carl
///////////////////////////////////////////////////////////////////////////
[ module(SERVICE, uuid = "{99CCA443-725A-44F2-A5F3-9855AFACF970}",
name = "QService",
helpstring = "QService 1.0 Type Library",
resource_name="IDS_SERVICENAME") ]
class CQServiceModule
{
public:
CQServiceModule() {};
public:
HRESULT PreMessageLoop(int nShowCmd)
{
HRESULT hr = __super::PreMessageLoop(nShowCmd);
if ( SUCCEEDED(hr) )
return S_OK;
return hr;
}
HRESULT Start(int nCmd)
{
m_lTimer = (UINT)::SetTimer((HWND) NULL, 1,
10000, TimerProc);
return __super::Start(nCmd);
}
static void CALLBACK TimerProc(HWND hwnd,UINT uMsg, UINT idEvent,
DWORD dwTime)
{
_AtlModule.LogEvent(_T("TimerEvent"));
}
UINT m_lTimer;
};
|
|
|
|
|
AFAIK services do not have message loops - and message loop is required when you want to use SetTimer, even with a callback function.
Use Sleep() or waitable timer instead of SetTimer.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|