|
Hi there,
i don't have nouser and nomb defined anywhere.
the error happens during compilation. i'm still confused as to what i'm doing wrong
Thanks for your responses.
|
|
|
|
|
did MB_SERVICE_NOTIFICATION_NT3X work?
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
Hi Papa
replacing MB_SERVICE_NOTIFICATION with MB_SERVICE_NOTIFICATION_NT3X still does not work.
I have the #define _WIN32_WINNT 0x0400 declared
also, changed it to #define _WIN32_WINNT 0x0300 and it still doesn't work.
The error message that I'm recieving is the same, undeclared identifier.
Rico
|
|
|
|
|
What are you trying to do, just to pop a messagebox ?
|
|
|
|
|
You need #define _WIN32_WINNT 0x0400 in the stdafx.h file, above any #include statement.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
oh, thank you very much!
i thought i was going to be stuck forever with that error!
just wondering, if the app. i'm building should be compatible with any nt version, should i use
0x0300 instead of 0x0400?
THanks
Rico
|
|
|
|
|
Hey ,I've a dialog based application with a menu (menu bar). It works very well on windows 2000 Professional and Windows XP. But when I open it on Windows 98, there is no menu bar. Instead of the menu you can see a part of the desktop.
What can I do?
I work with Visual Studio 6.0 and I create the menu with the Ressource -Editor. To include the ressource I use this code:
CMenu menu;
menu.LoadMenu(IDR_MAINFRAME);
ASSERT(menu);
SetMenu(&menu);
Thnak's
Beppo
|
|
|
|
|
Just a guess, but it sounds like Internet Explorer (the Common Control DLL, actually) is not up-to-date on the Windows 98 machine.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
Your CMenu object is local, so it will delete its HMENU object in its destructor when it goes out of scope, this could mean that your window has an invalid HMENU selected.
CMenu menu;
menu.LoadMenu(IDR_MAINFRAME);
ASSERT(menu);
SetMenu(&menu);
menu.Detach(); // stop menu being destroyed in destructor
Roger Allen
Sonork 100.10016
Death come early, death come late,
It takes us all, there is no reason.
For every purpose under heaven,
To each a turn, to each a season.
A time to weep and a time to sigh,
A time to laugh and a time to cry,
A time to be born and a time to die.
Dust to dust and ashes to ashes,
And so I end my song.
|
|
|
|
|
Thanks Roger, now it works
|
|
|
|
|
This happens for shortcuts to web-pages that can't be reached or something in that area.
My program can't have this message-box popup when a thumbnail cannot be fetched, what can i do about it ?
thank you
|
|
|
|
|
I'm developping programs on wince using evc3.0
I made a new project using WCE ATL COM AppWizard with MFC support.I got no compile errors when i create a simple object.But when i create a full control or lite control,i got compile errors like this:
......error C2504: 'IBindStatusCallback' : base class undefined
......error C2061: syntax error : identifier 'IBinding'
......
the same project under vc6.0 i got no problem.I knew there are many limitations in evc.Does my problem stands for "mfc and atl won't cooperate with each other under wce?"
i have struggled on this problem for one day. i'm too tired now.
But i need to use CInternetSession class(MFC class) in my ATL COM Control(full control) project. Anybody can give me a hand?
Thanks a lot!
|
|
|
|
|
hi all,
i am trying to force a tab current selection as follows:
HWND hWnd = m_hWnd;
while (NULL != (hWnd = ::GetWindow(hWnd,GW_HWNDNEXT)) )
{
::SendMessage(hWnd,TCM_SETCURSEL,(WPARAM)iIndex,(LPARAM)0);
}
i do get to the see the tab header being shown, but the dialog that is attached to the tab is not shown......
can any1 help???
thanks
|
|
|
|
|
This happens because of the way a tab control works.
The TCM_SETCURSEL message only sets the selected tab index as active. It does not, like stated in the Platform SDK Reference, send TCM_SELCHANGING and TCM_SELCHANGE messages. The general tab control available in Platform SDK (SysTabControl32 window class) handles the changing of the page in the TCM_SELCHANGING and TCM_SELCHANGE message handlers. First is called first, and is responsible for hiding the current page. The latter is sent (and handled) next, and it is responsible for showing the new page.
There are (at least) two solutions to this problem:
1. Override your tab control's TCM_SETCURSEL message handler to send TCM_SELCHANGING and TCM_SELCHANGE messages, which will then swap the page. This is necessary if your tab control has TCM_BUTTONS style set, or you are using a tab control which is not based on the SysTabControl32 class.
2. If your tab control does not have TCM_BUTTONS style set, you can use TCM_SETCURFOCUS message to set the focus to the specified tab. This message will cause TCM_SELCHANGING and TCM_SELCHANGE messages to be sent to the tab control, thus switching the page as well.
If you use MFC, the correct message-map entry is ON_COMMAND (TCM_SETCURSEL, <function>) and the function prototype is afx_msg LRESULT <function>(WPARAM wParam, LPARAM lParam) . Same rules apply for TCM_SELCHANGING and TCM_SELCHANGE, if you need to override them.
However, if you use a CCtrlView class as the base, the message map entry is ON_NOTIFY_REFLECT . See MFC Reference for more details about this.
Alternatively, instead of sending messages, you can use the TabCtrl_SetCurFocus macro. In Platform SDK, this macro requires a HWND of the tab and the index to be selected. If you use MFC's CTabCtrl class or it's derivates, you can use the SetCurFocus member method to achieve the same results.
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
how to replace the following function with constructor
void Cat::setAge(long age,char name[])
{
strcpy(cName, name);
cAge = age;
}
|
|
|
|
|
Something like this?
Cat::Cat(long age, const char const* name)
{
strcpy(cName, name);
cAge = age;
}
Cat aCat(3, "Fred");
Roger Allen
Sonork 100.10016
Death come early, death come late,
It takes us all, there is no reason.
For every purpose under heaven,
To each a turn, to each a season.
A time to weep and a time to sigh,
A time to laugh and a time to cry,
A time to be born and a time to die.
Dust to dust and ashes to ashes,
And so I end my song.
|
|
|
|
|
Replace setAge by Cat and remove the void
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
Hi!
I have a problem and I cannot find the solution for it. I am using the win32 api to create a database application and I am sending sql statements to retrieve and put data.
In my access database I have a field called TEST, it is a text field. The thing I want to do is to add some text to it everytime the user opens my program. For that I am using:
<br />
_bstr_t sqlquery;<br />
LPTSTR tester = "";<br />
LPTSTR no = "12";<br />
char formula[MAX_PATH];<br />
sprintf(formula, "\"UPDATE TABLO SET TEST = '%s' WHERE (NO = '%s')\"", tester, no); <br />
sqlquery = (_bstr_t)formula;<br />
try<br />
{<br />
pSet = pDb->Execute(sqlquery, &vRecsAffected, adOptionUnspecified);<br />
}<br />
catch( _com_error &e )<br />
{<br />
bstr_t bstrSource(e.Source());<br />
_bstr_t bs = _bstr_t(" Error: ") + _bstr_t(e.Error()) + _bstr_t(" Mesaj: ") + _bstr_t(e.ErrorMessage()) + _bstr_t("\nHata Tanımı:\n") <br />
+ _bstr_t(e.Description()); <br />
MessageBox(0,bs,bstrSource, MB_OK);<br />
}<br />
<br />
And when my program runs it gives me an error like:
"Error: -2147217900 Message: IDispatch error #3092"
I am really confused Please help me!
Thank you very much for your future answers!
(Note the code up there works if there is less than 8 or 9 characters... )
Well... I am a beginner ...
|
|
|
|
|
What type of object is pDb ? At first I thought it was a CDatabase object, but that class has no Execute() method.
Have you tried Googling for the error?
http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=idispatch+3092&btnG=Google+Search
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
I googled it but I couldn't find any useful informations...
Well... I am a beginner ...
|
|
|
|
|
Don't put the update statement within quotes (in other words,
"UPDATE ...." instead of "\"UPDATE ...\"")
Also, I wouldn't use sprintf to build your query string. Too easy to get buffer overflow problems. Use STL strings or string streams or just concatenate _bstr_t's
|
|
|
|
|
Thank you very much for your answer!
Remowing the quotes solved my problem and now it is working fine...
Thanks a lot again...
Well... I am a beginner ...
|
|
|
|
|
I have a class cat and i am trying to pass an array of cat obiject to a function as well as valid components of the array.
void show(Cat cats[], int i)
What is incorrect in my line?
|
|
|
|
|
|
Could anyone tell me what is wrong with the following snippet? printf only prints the the first word of each key and printes it several times.
for example Microsoft Office would be printed as
Microsoft
Microsoft
microsoft and so an..
I am using XP sp1 and VS2003
Thanks,
Max....
long RESULT;
HKEY hKey;
int _tmain(int argc, _TCHAR* argv[])
{
RESULT = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall", 0, KEY_READ, &hKey);
printf("Regopen returned %d ", RESULT );
int KeyIndex = NULL;
CHAR SubKeyName[MAX_PATH];
DWORD SubKeyLenth = [MAX_PATH];
FILETIME InstallDate;
do
{
RESULT = RegEnumKeyEx(hKey,
KeyIndex,
SubKeyName,
&SubKeyLenth,
NULL,
NULL,
NULL,
&InstallDate);
printf( "(%d) %s\n", KeyIndex++ , SubKeyName);
}
while (RESULT != ERROR_NO_MORE_ITEMS);
return 0;
}
|
|
|
|
|