|
nafxcwd.lib is the static version of MFC debug library. This is probably being linked with a
#pragma comment(lib, "nafxcwd.lib") directive located in MFC header afx.h, so my guess is that you should try to locate an offending
#include<afx.h> somewhere in your code and delete it (as you're trying to get rid of MFC, right?). Look in stdafx.h, a very usual place for this kind of include s.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Figured it out eventually after your suggestion. The <ForceLib.h> file which Q148652 suggests to create, includes a section at the beginning which links in the nafxcwd.lib files etc. When I removed this and linked in a few other WIN32 libs, it finally worked.
Thanks for your help.
James Spibey
I love the word naked, it's brilliant isn't it, 'naked'. When I was a kid I used to write the word naked on a bit of paper hundreds of times and rub my face in it - Jeff, Coupling, BBC2
|
|
|
|
|
Hi All,
How can I change the Background color of teh client area of a window with out using any Brush.
Thanks in Advance
Sangeetha
|
|
|
|
|
If you want to channge it in your main dialog just put SetDialogBkColor(background, control); in Initinstance();. background is the background color, control is the color of the text you put on the dialog.... and other controls i think, try it and mix with it!
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
I use smart pointers to encapsulate interfaces.
It is possible to get CLSID string from interface encapsulated in smart pointer ???
|
|
|
|
|
I have used this
USES_CONVERSION;
if(pModule != NULL)
{
LPOLESTR lpModuleCLSID;
StringFromIID(pModule.GetIID(), &lpModuleCLSID);
CString sModuleCLSID = OLE2T(lpModuleCLSID);
CoTaskMemFree( lpModuleCLSID );
}
pModule is smart pointer (_com_ptr_t) IModulePtr pModule;
I inilialize it like this:
pModule.CreateInstance(sGuid)
where sGuid is an identifier of class that implements IModule interface.
In presented sample code I've got the string identifier of IModule interface, not sGuid.
How to get string ID from class (interface) that implements IModule interface ?
|
|
|
|
|
Unless the interface has a method to return the CLSID, it can't be done.
Tim Smith
Descartes Systems Sciences, Inc.
|
|
|
|
|
Hi,
I want to develop for the Palm OS ( I have a Palm Vx), I read there is a DLL or whatever that allows you to write your code in Visual C++, is that true ?
How can I get something free and good to program the Palm ?
Thanks, Bye !
Braulio
|
|
|
|
|
download the Palm SDK and an emulator
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Thanks,
And one question more..., how hard is it to get results ?, Or can be done simple applications ? ( is so hard as Windows raw C programming ?)
Bye !
Braulio
|
|
|
|
|
Here are some snippets from a talk I once gave on Palm OS coding :-
If you gimme your email address I'll send you the entire presentation.... the snippets below represent only about 33% of the presentation.
The PilotMain Function
The PilotMain() acts as the entry point for the application. It is analogous to main() in DOS programs or WinMain() in Windows applications. PilotMain() can check for launch codes which are passed as arguments. It is responsible for starting two important functions, StartApplication() and EventLoop().
The StartApplication() Function
This function is responsible for initializing the required data structures. It also initializes the program’s initial user interface by activating the initial form. Then it calls the EventLoop() function
The EventLoop() Function
The EventLoop function processes events going though these steps:
• EvtGetEvent retrieves the next available event from the
system event queue and passes it to a succession of event
handlers for processing.
• Each handler can choose (by returning a non-zero value) to handle an event, so that it’s not seen or processed by subsequent event handlers.
The EventLoop function processes all the events that flow through the application as it executes. EventLoop returns when an event is encountered that directs the application to quit. When control returns to PilotMain from EventLoop, the application quits, returning an error code of zero.
The SysHandleEvent Function
EventLoop gives the SysHandleEvent function the first opportunity to process each event. This function processes low-level events, like low-battery conditions, application launch, power keys, and Graffiti ® writing recognition.
Writing your first program
1. Create your form using Constructor for Palm OS
2. Add a button to your form
3. Save the resource file
4. Write the C program
5. Create the project using Code Warrior
6. Add the C program and the resource
7. Build it
8. Test it on the emulator
The Code
#include <pilot.h>
#include "MemoPadRsc.h"
static void StartApplication(void);
static Boolean MainFormHandleEvent(EventPtr event);
static void EventLoop(void);
static void StartApplication(void)
{
FormPtr frm;
frm = FrmInitForm(MemoPadMainForm);
FrmSetActiveForm(frm);
FrmDrawForm(frm);
}
static Boolean MainFormHandleEvent(EventPtr event)
{
Boolean handled = false;
EventType newEvent;
if (event->eType == ctlSelectEvent)
{
MemSet(&newEvent, sizeof(EventType), 0);
newEvent.eType = appStopEvent;
EvtAddEventToQueue(&newEvent);
handled = true;
}
return(handled);
}
static void EventLoop(void)
{
EventType event;
do
{
EvtGetEvent(&event, evtWaitForever);
if (! SysHandleEvent (&event))
if (! MainFormHandleEvent(&event))
FrmHandleEvent(FrmGetActiveForm(), &event);
}
while (event.eType != appStopEvent);
}
DWord PilotMain(Word cmd, Ptr cmdPBP, Word launchFlags)
{
if (cmd == sysAppLaunchCmdNormalLaunch)
{
StartApplication();
EventLoop();
}
return(0);
}
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Thanks !
My e-mail address is: bdiez@holtegroup.com
Bye !
Braulio
|
|
|
|
|
Hi Nish !,
Yes I would like to get the full palm article ( I want to try somethings), my e-mail adress is: bdiez@holtegroup.com
But then the palm thing does not have any standard control isn´t it ? ( b.g. TreeCtrl)
Thanks, Bye !
Braulio
|
|
|
|
|
Okay, I have emailed it. I hope you do find it useful as an introduction. good luck!!!
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Braulio Díez wrote:
How can I get something free and good to program the Palm ?
See here for a free, GCC based tool chain for programming the Palm.
|
|
|
|
|
Thanks,
And one question more..., how hard is it to get results ?, Or can be done simple applications ? ( is so hard as Windows raw C programming ?)
Bye !
Braulio
|
|
|
|
|
where can i find odbc drivers for XP?
|
|
|
|
|
I was under the impression that XP came with ODBC drivers. Are you looking for one driver in particular? Try downloading the latest MDAC from http://www.microsoft.com/data/
Michael
|
|
|
|
|
Hi,
i have a database with tables person,position and player.
Person Table Definition:
person_id -> unique id of the person
person_first_name -> person first name
person.person_last_name -> person last name
For instance:
1,John,Scotch
2,Paul,Whisky
Position Table Definition:
position_id -> unique position id
position_short -> short description of the position
position_long -> description of the position
For instance:
1,QB,Quarterback
2,WR,Wide Receiver
3,TE,Tight End
4,DE,Defensive End
5,DT,Defensive Tackle
6,CB,Cornerback
Player Table Definition:
player_id -> unique player id
player_person_id -> foreign key pointing to Person table
player_offense_position_id -> foreign key pointing to Position table
player_defense_position_id-> foreign key pointing to Position table
For instance:
1,1,3,4
2,2,2,6
Now i want to display the info like this:
Name Last Name Off Posit. Def Posit.
John Scotch Tight End Defensive End
Paul Whisky Wide Receiver Cornerback
My query succeeds when i only use both id's for the
position instead of the descriptive form:
select person.person_first_name, person.person_last_name,
player.player_offense_position_id,
player.player_defense_position_id
from person, player
where
player.player_person_id = person.person_id
It also works when i change 1 of the id's to the long description:
select person.person_first_name, person.person_last_name,
position.position_long,
player.player_defense_position_id
from person, player, position
where
player.player_person_id = person.person_id
and player.player_offense_position_id = position.position_id
But then only the foreign key of the offensive position is resolved.
When i try to have both offense and defensive id's as descriptions,
like this, it doesn't work:
select person.person_first_name, person.person_last_name,
position.position_long,
position.position_long,
from person, player, position
where
player.player_person_id = person.person_id
and player.player_offense_position_id = position.position_id
and player.player_defense_position_id = position.position_id
How can i replace both the offensive position id and the defensive
position id with their respective entries from the position table?
(i.e. resolve the foreign key and use the long description)
Also, is there a reference to the SQL syntax anywhere?
As you can see, i'm rusty on the sql part
BK
|
|
|
|
|
You need to use table aliases in your query if you have multiple foreign keys pointing to different rows of one table, try:
SELECT
person.person_first_name,
person.person_last_name,
pos1.position_long,
pos2.position_long
FROM
person,
player,
position pos1,
position pos2
WHERE
player.player_person_id = person.person_id
AND player.player_offense_position_id = pos1.position_id
AND player.player_defense_position_id = pos2.position_id
|
|
|
|
|
YES! it worked. thanks a million. been looking through some old sql courses that i had lying around but i didn't succeed in finding the sollution!
thanks again!!!
BK
|
|
|
|
|
And I guess that you think now why I want to do this!
But don't ask!
I want to get the window of a button or any control in another application.
I know how to get the windows window:
HWND theWnd = ::FindWindow(classname, ortitlename);
But then I want to get the window handle of a button that is in window theWnd.
Hope you understand!
And I tell ya again, please don't ask me WHY!
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
If you have the ID for the control (very easy to know using Spy++, that comes as an utility in Visual Studio), ::GetDlgItem(theWnd,id) returns a handle to the button you're interested in.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
PS: And if you want to programmatically press the button, here's how:
::SendMessage(hwndDlg,WM_NEXTDLGCTL,(WPARAM)hwndButton,(LPARAM)TRUE);
::SendMessage(hwndButton,BM_CLICK,0,0);
|
|
|
|
|
Hombreeee !!!
Gente de España !!!, aquí uno de Málaga !!! ( Braulio), Un saludo
Braulio
Braulio Díez Botella
Holte Innovation Málaga
|
|
|
|
|
are you swearing at him???
LOL
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|