|
Well, I have a question right now:
What kind of type will my varible that holds the address have?
I can't declare a:
FARPROC myfunc = GetProcAddress(....);
and then call my function:
myfunc();
------------------------------------
Rickard Andersson, Suza Computing
ICQ#: 50302279
I'm from the winter country SWEDEN!
------------------------------------
|
|
|
|
|
Declare a function pointer that has the same prototype of the function that you want to call:
Example:
<br />
int GetWindowText(HWND hWnd, LPTSTR lpString, int nMaxCount);<br />
<br />
int (*GetWindowTextPtr)(HWND, LPTSTR, int);<br />
<br />
FARPROC myfunc = GetProcAddress(....);<br />
<br />
GetWindowTextPtr func = (GetWindowTextPtr)myfunc;<br />
<br />
myfunc(hWnd, szString, count);<br />
|
|
|
|
|
Hey guys i am writing a quick bit of software for my electronics that converts a bitmap to pure binary ie puts the first line at the begginning and removes the bitmap header. I wanted to display this datd again in the software so i could check the image being stored but i can't seem to find a control that lets me to turn a pixel on or off or has a grid where i can make each cell balck or white.
Basically what i need to do is have a grid of 256x256 where i can control each pixel to be white or black so on or off.
Cheers
Peter
|
|
|
|
|
Hello,
I'm looking for the Liposuction32 tool (http://www.microsoft.com/msj/defaulttop.asp?page=/msj/archive/s572.htm). The link has been removed from the article...
If anyone has it..
Thanks
|
|
|
|
|
This link has it.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hi!
I am writing UNICODE application. Everything works fine, apart from list boxes. When I add russian/japaneese string to the listbox I receive garbage in dialog. It works ok for english. It seems to me that CLIstBox does not handle properly UNICODE strings.
I also tried:
LCID mylcid = MAKELCID(MAKELANGID(LANG_RUSSIAN, SUBLANG_NEUTRAL), SORT_DEFAULT);
m_theListBox.SetLocale(mylcid);
_ASSERTE(m_theListBox.GetLocale() == mylcid);
and I get assertion.
Does anyone know, how to put russian/japaneese string into the list box?
(I am using WindowsXP Pro)
Thanks in advance
|
|
|
|
|
Make sure the control's font is set to something that supports the character sets you're using, such as Tahoma. If it's MS Sans Serif, the non-Latin characters will not show up right.
--Mike--
Fetchez la vache!
My really out-of-date homepage
Sonork - 100.10414 AcidHelm
Big fan of Alyson Hannigan and Jamie Salé.
|
|
|
|
|
Hi
I need some code that stops my program from loading up the mainframe when it is starting. Because I want it to wait while my splash-screen is showing. Is it possible?
Thanks
|
|
|
|
|
Take a look at CYourApp::InitInstance() . This is the appropriate place to inject a splash window and wait for it to terminate before proceeding with the rest of the program.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
You can create non-modal splash window just at very beginning.
Proceed with application initialization, and then terminate splash dialog. You can also set a timer.
This will not block application when splash screen will be displayed.
|
|
|
|
|
I think you can set timer!
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 am trying to debug my program because while running my driver program i encounter a bug and the error that the computer tells me is this:
" Unhandled Exception in Tictactoe.exe: 0x000005: Access violation"
this error occurred in my destructor for my CBoard Class
CBoard::~CBoard()
{
delete mpDefaultPen; <-- what is causing a exception to be thrown?
}
oh i used this pointer in my function
// Changes the Line color to the value entered
void CBoard::SetLineColor(CDC* pDC, COLORREF color)
{
// Sets color to mLine color
mLineColor= color;
// Construct a pen
mpPen = new CPen;
VERIFY(mpPen);
VERIFY(mpPen->CreatePen(PS_SOLID,5,mLineColor));
VERIFY(mpDefaultPen = pDC->SelectObject(mpPen)); <-- rite here
}
Does anyone know whats causing this bug to occur? anyways... thank you in advance for helping me... i very much appreciate all the help
|
|
|
|
|
You shouldn't delete mpDefaultPen , but rather select it back to pDC with SelectObject once you're done with the DC object. Check your documentation for SelectObject . The general scheme is as follows:
mpDefaultPen =pDC->SelectObject(mpPen);
pDC->SelectObject(mpDefaultPen);
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
oh ok thank you Joaquin for the help. i forgot, i didnt create mpDefaultPen so i shouldnt delete it or it will cause me an error (i forgot what kind of error that is -- i think its the dangling pointer problem). again thank you for your help muchas gracias para me ayudarle is what is said right??
|
|
|
|
|
muchas gracias para me ayudarle is what is said right??
It's close. The correct sentence would be "Muchas gracias por ayudarme". You are welcome.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Will MFC programs written with VC++.net work for older platforms like Windows 98? Or I would have to distribute the MFC7 libraries? I'm having trouble getting things to run. Please help a newbie
|
|
|
|
|
David Z wrote:
I would have to distribute the MFC7 libraries?
yes,you have to distribute it
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
|
|
|
|
|
Thanks for the reply! Just one last thing, will the .net Framework be enough? or i'd have to distribute the individual .dlls?
|
|
|
|
|
You don't have to distribute all .net framework always,
Only need to distribute MFC7.dll (if I don't make mistake the name)beside this if you use some .net features (for example GDI+)you also need to distribute that specific dll
hope that helps
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
|
|
|
|
|
How do you write a Driver program in MFC to test a class you have created to be used in MFC? i know to some of you this might be a very dumb question but i am just starting in programming in MFC. thank you for your help. i very much appreciate it
|
|
|
|
|
A Driver program is simply a program that uses your class. For instance, say you have a class that can set two parameters, then perform actions on these parameters, here is an example.
<br />
class Arithmatic<br />
{<br />
int m_a;<br />
int m_b;<br />
<br />
public:<br />
Arithmatic () m_a(0), m_b(0)<br />
{<br />
}<br />
<br />
void SetA (int a)<br />
{<br />
m_a = a;<br />
}<br />
<br />
void SetB (int b)<br />
{<br />
m_b = b;<br />
}<br />
<br />
int Sum ()<br />
{<br />
return m_a + m_b;<br />
}<br />
<br />
};<br />
With this class, you could write a Driver, or test program like this.
<br />
int testArithmatic ()<br />
{<br />
Arithmatic x;<br />
<br />
x.SetA(10);<br />
x.SetB(20);<br />
<br />
ASSERT(x.Sum() == 30);<br />
<br />
return 0;<br />
}<br />
In this example you know what the desired result is for the two values 10 + 20, so assert that all of your functions work properly.
|
|
|
|
|
Thanks... i got it now... oh, i am going to do that now. oh, i have another question... i dont know if i placed the assert statements right in my destructor. can you help me?
here is what i did:
// Destructor
CBoard::~CBoard()
{
// Check for Deletion of Null pointers if the object
// is NULL dont delete it, else delete each ofthe objects
ASSERT(mpDefaultPen == NULL);
if (mpDefaultPen != NULL)
delete mpDefaultPen;
ASSERT(mpDefaultFont == NULL);
if (mpDefaultFont != NULL)
delete mpDefaultFont;
ASSERT(mpPen == NULL);
if (mpPen != NULL)
delete mpPen;
ASSERT(mpFont == NULL);
if (mpFont != NULL)
delete mpFont;
for (int r = 0; r < MAXROW; r++)
for (int c= 0; c < MAXCOL; c++)
{
delete mpGrid[r][c];
}
}
Did i place my ASSET macros right? i am trying to catch errors cause by deletion of NULL pointers which probably would cause memory leak.
|
|
|
|
|
When you ASSERT, you assert for something that you think should be true, so if the assertion is false it will return an error.
In your case you stated ASSERT(x == NULL), you will only get an error when x != NULL, this is the opposite of what you want.
Anyway, it is safe to call delete on a NULL pointer, this is part of the C++ standard. So your destructor can be changed to this:
<br />
delete mpDefaultPen;<br />
delete mpDefaultFont;<br />
delete mpPen; <br />
delete mpFont;<br />
|
|
|
|
|
Oh OK... thank you very much for the help....
|
|
|
|
|
why does this generate a link error?
class DEL1_API Cdel1 {
public:
static int int1;
public:
Cdel1(void);
// TODO: add your methods here.
static void test()
{
int1 +=10;
}
};
Thanks.
Steve
Not all who wander are lost...
|
|
|
|