|
I found my problem...
There was a conditional compile directive in the .RC file that was spanning on two lines with a '\' line break. I removed the '\' line break so that the directive fits only on one line. That made the 'out of date' message go away.
I found this line by looking at the BuildLog.htm result file. There was an entry stating that a file 'define(_DEBUG))' could not be found.
Not to sure how this happened. I never edited that file by hand. This project was converted from VC6 to VC.NET by VC.NET, but was not doing that problem after convertion. Happend at some point after.
anyways, it is solved. Thought I was going crazy
Thanks for the spiritual support
Louis.
---
Now...how to rate this one ?
|
|
|
|
|
LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/WinMain.exe : fatal error LNK1120: 1 unresolved externals
I have always had my suspicions about VB
|
|
|
|
|
|
Try running the following: (I bought a book, programming role playing games with directx and this is the first sample, one problem, it gives me an error, this is off the cd:
/**************************************************
WinMain.cpp
Chapter 5 Shell Application
Programming Role-Playing Games with DirectX
by Jim Adams (01 Jan 2002)
**************************************************/
// Include files
#include <windows.h>
#include <stdio.h>
// Window handles, class and caption text
HWND g_hWnd;
HINSTANCE g_hInst;
static char g_szClass[] = "ShellClass";
static char g_szCaption[] = "Shell Application";
// Function prototypes
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev,
LPSTR szCmdLine, int nCmdShow);
long FAR PASCAL WindowProc(HWND hWnd, UINT uMsg,
WPARAM wParam, LPARAM lParam);
BOOL DoInit();
BOOL DoShutdown();
BOOL DoFrame();
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev,
LPSTR szCmdLine, int nCmdShow)
{
WNDCLASSEX wcex;
MSG Msg;
g_hInst = hInst;
// Create the window class here and register it
wcex.cbSize = sizeof(wcex);
wcex.style = CS_CLASSDC;
wcex.lpfnWndProc = WindowProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInst;
wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = NULL;
wcex.lpszMenuName = NULL;
wcex.lpszClassName = g_szClass;
wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&wcex))
return FALSE;
// Create the Main Window
g_hWnd = CreateWindow(g_szClass, g_szCaption,
WS_CAPTION | WS_SYSMENU,
0, 0, 400, 400,
NULL, NULL,
hInst, NULL );
if(!g_hWnd)
return FALSE;
ShowWindow(g_hWnd, SW_NORMAL);
UpdateWindow(g_hWnd);
// Run init function and return on error
if(DoInit() == FALSE)
return FALSE;
// Start message pump, waiting for signal to quit
ZeroMemory(&Msg, sizeof(MSG));
while(Msg.message != WM_QUIT) {
if(PeekMessage(&Msg, NULL, 0, 0, PM_REMOVE)) {
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
if(DoFrame() == FALSE)
break;
}
// Run shutdown function
DoShutdown();
UnregisterClass(g_szClass, hInst);
return Msg.wParam;
}
long FAR PASCAL WindowProc(HWND hWnd, UINT uMsg, \
WPARAM wParam, LPARAM lParam)
{
switch(uMsg) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
BOOL DoInit()
{
return TRUE;
}
BOOL DoShutdown()
{
return TRUE;
}
BOOL DoFrame()
{
return TRUE;
}
I have always had my suspicions about VB
|
|
|
|
|
It Compiles and runs No Errors
Make a Fresh WIN32 App and then try
(Are you sure you didn't modified any project settings ?)
Live as if your were to die tomorrow. Learn as if you were to live forever.
-Mahatma Gandhi
|
|
|
|
|
As a Winapp non-professional programmer, off and on for personal projects for many years, I've always tried to use the Win32 API as directly as possible. So...I've kinda disliked the whole MFC concept for quite some time. Yep, Petzold's first books were my programming bibles.
Unfortunately, MFC doesn't seem to be going away and my current project requires the use of parts of it (especially for easy CDatabase functions). Therefore, the app will be written in the "Microsoft ordained" MFC style...
The app requires high-performance threads that are used to compute millions of FLOPS. This is where using the traditional Win32 API calls was nice.
Are there any performance penalties when using MFC as it "wraps" so much stuff into the code behind-the-scenes?? In other words, is it to be expected that MFC programs operate at 80 to 90% of their straight Win32 counterparts??
Like I said, it was always more fun (and less worrisome) to get as close to direct access to the hardware as possible.
Thanks!
Joe
|
|
|
|
|
jdgonko wrote:
Are there any performance penalties when using MFC as it "wraps" so much stuff into the code behind-the-scenes?? In other words, is it to be expected that MFC programs operate at 80 to 90% of their straight Win32 counterparts??
a) You can use the bare minimum of MFC you want to, and still call straight into the Win32 API - and you can usually pull any required handles straight out of any MFC objects you have.
b) Lower application performance is an acceptable trade-off for a similar reduction in development time. MFC isn't in my experience particularly slow, as most of the calls in MFC are pretty "thin" and usually go straight into the matching Win32 calls anyway. Add in the extra useful bits (CString and the collection classes), and you save yourself a lot of headaches
--
Ian Darling
"The moral of the story is that with a contrived example, you can prove anything." - Joel Spolsky
|
|
|
|
|
Thanks, Ian, for the information regarding the use of MFC versus the Win32 API. It sounds like the MFC "objectification" of various Win32 API functions doesn't impede the processing all that much and that's good. It reminds me of when I started to use C for Windows apps (Petzold's first book). I'd be writing in C but still need to inline some assembly code to get that extra graphics performance. Now, it's C++ using MFC and "inlining" some direct Win32 API calls!! And, no direct hardware access anymore (don't know how to write my own custom device drivers yet either)...
The project I have going is a full-blown jukebox type application with DSP routines that I've learned through various books. I've left the FFT routines up to the guys of FFTW.com (they've done an excellent job fine-tuning the performance of the FFT in their libraries!!). In the current Win32 version I have going, there are separate high-priority threads for the audio playback and then the DSP math portions (if they get interrupted, you HEAR the problem, haha) and then a standard thread for the GUI.
It is only a personal project - nothing for sale - and perhaps it'll turn out good enough (and interesting enough) to be on this site in the future.
Thanks again and have a great holiday season.
Joe
|
|
|
|
|
Ian Darling wrote:
MFC isn't in my experience particularly slow, as most of the calls in MFC are pretty "thin" and usually go straight into the matching Win32 calls anyway.
Yes and The MFC Message Routing architecture is faster in some cases than a standard switch..case statement in WIN32
Live as if your were to die tomorrow. Learn as if you were to live forever.
-Mahatma Gandhi
|
|
|
|
|
I really like the class because it's so easy to use. However i have a few problems with alpha
Creating an image with:
MyImage.Create(width, height, 32, CImage::createAlphaChannel);
Results in no alpha at all and when creating like this:
MyImage.CreateEx(width, height, 32, BI_RGB, 0,CImage::createAlphaChannel);
i get a completely transparent Image even if i set every pixel to 0xffffffff.
|
|
|
|
|
Hi guys,
I use a Static Text (CEdit) as an description to an Edit Control box. I want to be able to select the text in the Edit Control box when the Static Text is clicked (whether single or double click) using mouse. I tried to add mouse click type of event handlers of the Static text. Unforunately there seems to be 0 event handlers avaiable for Static Text.
Is that the case? If so, what can I do to acheive that (I am thinking to add a different component on the top of the Static Text but make it transparent).
Please help,
Thanks in advance
|
|
|
|
|
One possible solution is to add a mouse click message to the parent window. Determine whether the mouse pointer is within the coordinates of the static text box vis PtInRect().
Kuphryn
|
|
|
|
|
|
Michael Dunn wrote:
Set the Notify style on the static control. Then when you click it, it will send a STN_CLICKED notification to its parent.
Thanks guys,
The Nofity Style seems to be much more straight and is what I have chosen to use. Works well.
Thanks again
|
|
|
|
|
Hi all...
Does any1 know how can I create win32 window in perl
|
|
|
|
|
Read the documentation of perl.
My God is more powerfull Than Your God. (the line that divides the world)
|
|
|
|
|
Hi,
I created an ATL service and added an interface to it (STA)
Now, from my client application i am creating the interface and calling one of its method, after that method call is over the service gets terminated,
Any one knows why?
My God is more powerfull Than Your God. (the line that divides the world)
|
|
|
|
|
Hi!
Can anyone tel me what exactly is the callback function. Its role or purpose.
Thanks
|
|
|
|
|
A callback function is a function you pass to a second function using a function pointer. The second function calls the callback function one or more times to perform some operation.
An example of the second function is the Win32 API function EnumWindows . It has the following prototype:
BOOL EnumWindows(WNDENUMPROC lpEnumFunc,
LPARAM lParam); EnumWindows enumerates all top-level windows on the screen. The first argument, lpEnumFunc , is a pointer to a callback function that you supply. An example is this:
BOOL CALLBACK MyEnumFunc(HWND hwnd,
LPARAM lParam)
{
char text[128];
::GetWindowText(hwnd,text,sizeof(text));
if (!strcmp(text,"Some Window Title")) {
}
} And you would call EnumWindows as follows:
EnumWindows(MyEnumFunc,0); Your callback function MyEnumFunc would then be called for every top-level window on the screen.
Software Zen: delete this;
|
|
|
|
|
Hi,
I am a beginner and am trying to use CObList to create a double linked list of CObject dervied class CHAN which has 3 member variables.The code for that is:
code <
class Chan:public CObject
{
public:
CString name;
int hdl;
bool status;
Chan(){hdl=0;status=true;};
Chan(CString nm,int hl,bool stat) {name=nm;hdl=hl;status=stat;};
Displ(){char disp[50];
sprintf(disp,"For %s hdl=%d and status is %s",name,hdl,status);
MessageBox(0,disp,"DISPLAY",MB_OK);
};
const Chan& operator=( const Chan& a )
{name=a.name;hdl=a.hdl;status=a.status;return *this;
}
};
>
My application is a dialog based application where i have created a list of size 10 and initialisingit in teh initInstance of teh application like this:
code <chan c("abx01234",0,true);
for(int="" i="0;i<11;i++)
{list.AddHead(&c);}">
In tehDialog applciation i wantto add/modify or delete the value of 2memeber variabels of Chan based on teh first value.
Please help out.Thank you
ananya
|
|
|
|
|
After Going through ur post 3 times and then figuring out that teh actually means the
This might Help
Everytime you have to Modify one Object you will have to search the whole list and find the one which you want to Modify
POSITION pos = list.GetHeadPosition();
for (int i=0;i < list.GetCount();i++)
{
Chan *pChan = list.GetNext(pos);
if(pChan->name == "STRING TO TEST")
{
}
}
Live as if your were to die tomorrow. Learn as if you were to live forever.
-Mahatma Gandhi
|
|
|
|
|
Hi!
I've created a SDI application with the new CHtmlEditView and CHtmlEditDoc classes for my document/view.
In my derived CHtmlEditView class, I have overrided functions OnKillFocus and OnChar to intercept the WM_CHAR and WM_KILLFOCUS messages.
But my view (and my main frame) doesn't got theses messages.
How to intercept this kind of messages in a such document/view type? Is there any special thing to add, in order to intercept theses messages in an HtmlEdit control?
Thks in advance!
Appstmd
http://www.appstmd.com
|
|
|
|
|
Post the code that specifies the program wants to handle those messages in the view and main frame classes.
It is very possible to handle those messages in both the view and main frame.
Kuphryn
|
|
|
|
|
Thks! But with the code added in both the view and the main frame, I don't receive the WM_CHAR message.
Here is my code from my CView and CMainFrame classes:
<br />
<br />
#include "stdafx.h"<br />
#include "Focus3.h"<br />
<br />
#include "MainFrm.h"<br />
#include ".\mainfrm.h"<br />
<br />
#ifdef _DEBUG<br />
#define new DEBUG_NEW<br />
#endif<br />
<br />
<br />
<br />
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)<br />
<br />
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)<br />
ON_WM_CREATE()<br />
ON_WM_CHAR()<br />
ON_WM_KILLFOCUS()<br />
END_MESSAGE_MAP()<br />
<br />
static UINT indicators[] =<br />
{<br />
ID_SEPARATOR, <br />
ID_INDICATOR_CAPS,<br />
ID_INDICATOR_NUM,<br />
ID_INDICATOR_SCRL,<br />
};<br />
<br />
<br />
.....<br />
<br />
void CMainFrame::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)<br />
{<br />
AfxMessageBox ("OnChar");<br />
<br />
CFrameWnd::OnChar(nChar, nRepCnt, nFlags);<br />
}<br />
<br />
...<br />
and my CView class:
<br />
<br />
#include "stdafx.h"<br />
#include "Focus3.h"<br />
<br />
#include "Focus3Doc.h"<br />
#include "Focus3View.h"<br />
#include ".\focus3view.h"<br />
<br />
#ifdef _DEBUG<br />
#define new DEBUG_NEW<br />
#endif<br />
<br />
<br />
<br />
IMPLEMENT_DYNCREATE(CFocus3View, CHtmlEditView)<br />
<br />
BEGIN_MESSAGE_MAP(CFocus3View, CHtmlEditView)<br />
ON_COMMAND(ID_FILE_PRINT, CHtmlEditView::OnFilePrint)<br />
ON_WM_SETFOCUS()<br />
ON_WM_KILLFOCUS()<br />
ON_WM_CHAR()<br />
END_MESSAGE_MAP()<br />
<br />
BEGIN_DHTMLEDITING_CMDMAP(CFocus3View)<br />
DHTMLEDITING_CMD_ENTRY(ID_EDIT_COPY, IDM_COPY)<br />
DHTMLEDITING_CMD_ENTRY(ID_EDIT_CUT, IDM_CUT)<br />
DHTMLEDITING_CMD_ENTRY(ID_EDIT_PASTE, IDM_PASTE)<br />
DHTMLEDITING_CMD_ENTRY(ID_EDIT_UNDO, IDM_UNDO)<br />
END_DHTMLEDITING_CMDMAP()<br />
<br />
<br />
......<br />
<br />
void CFocus3View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)<br />
{<br />
AfxMessageBox ("OnChar");<br />
<br />
CHtmlEditView::OnChar(nChar, nRepCnt, nFlags);<br />
}<br />
Thks in advance!
Appstmd
http://www.appstmd.com
|
|
|
|
|
Who can tell me how to derive a class from ScrollBar, then this class can have a image interface?
If anybody can give me a example, i will feel very lucky.
Thank you very much.
|
|
|
|
|