|
Hello All,
I have a assignment something like this
LPTHREAD_START_ROUTINE a = ThreadProc;
Where ThreadProc is the thread function
After the above assignment a and ThreaProc shows different pointer value. Which is understandable.
My question is how do I get the ThreadProc pointer value back from a. How should my variable declaration look like
i.e if ThreadProc shows 0x00401028 in the watch window
and a shows 0x00401c90
then how do I obtain back 0x00401028 from a.
Rajdeep
|
|
|
|
|
rajandpayal wrote:
I have a assignment something like this
LPTHREAD_START_ROUTINE a = ThreadProc;
Where ThreadProc is the thread function
After the above assignment a and ThreaProc shows different pointer value. Which is understandable.
i.e if ThreadProc shows 0x00401028 in the watch window
and a shows 0x00401c90
You saw that in a Debug build, right? In a Release build, a will most likely have the direct address of ThreadProc .
rajandpayal wrote:
then how do I obtain back 0x00401028 from a
In a Debug build, a will point to a JMP to ThreadProc instruction. You might inspect the memory pointed by a to obtain the JMP instruction (which comprises 5 bytes, if I remember well), and then decode the parameter, which would be the ThreadProc address...
But, I'm curious, why would you need that?
--
jlr
http://jlamas.blogspot.com/[^]
|
|
|
|
|
I think this an easy one for an experienced VC++6 MFC person.
I'm using VC++6 MFC Forms project. Where is the proper place to initialize the controls on the Forms. (ie, making certain buttons visible/enabled and check boxes checke/not)
I'm thinking that either in the application or form .ccp file, but can't figure out where?
Thanks.
|
|
|
|
|
Freddie Code wrote:
I'm using VC++6 MFC Forms project. Where is the proper place to initialize the controls on the Forms. (ie, making certain buttons visible/enabled and check boxes checke/not)
In your dialog class (derived from CDialog ) you need to override OnInitDialog() . After calling the base class implementation, you can initialize your controls. Take a look at:
CDialog::OnInitDialog in MSDN[^]
--
jlr
http://jlamas.blogspot.com/[^]
|
|
|
|
|
I get the C2676 error and have tried implementing the workaround described in KB 814455 on the Microsoft site. The difficulty is the overloaded function that I am told to take out of class scope references 'this'. When I take the function out of class scope, it becomes static and the compiler does not accept it.
I am trying to build MAPM
(www.tc.umn.edu/_ringx004/mapm-main.html)
with MS Visual Studio C++ 2003, Enterprise Architect. The problem is not specific to MAPM or its particular file but to the fact that the workaround for the Visual C++ bug does not address what to do with 'this'.
Admittedly the problem may be my rudimentary experience with C++, so I would very much appreciate help.
The functions (in m_apm.h) causing the difficulty are
MAPM operator--() /* Prefix decrement operator */
{return *this = *this-MM_One;}
and
MAPM &operator-=(const MAPM &m) {*this = *this-m;return *this;}
Other people (although I cannot find them on the net, frustrating) have apparently successfully done this.
Thanks.
-Ted
|
|
|
|
|
TedCB wrote:
The functions (in m_apm.h) causing the difficulty are
MAPM operator--() /* Prefix decrement operator */
{return *this = *this-MM_One;}
and
MAPM &operator-=(const MAPM &m) {*this = *this-m;return *this;}
Member functions receive an implicit parameter this that represents the object on which the member was called. A member class operator defined as:
MAPM operator--()
{
return *this = *this-MM_One;
}
is an unary operator that is acting only on the implicit parameter this .
If you want to, as the MS article suggests, move it out of the class scope, you need to declare it as a friend non-member function, and the implicit parameter needs to become explicit. In the function body, the references to this need to be changed to references to the now explicit parameter. You should write something like this:
class MAPM
{
friend MAPM operator--(MAPM& m);
};
MAPM operator--(MAPM& m)
{
return m = m - MM_One;
}
Similarly, the operator-= is a binary operator, receiving first the implicit this and then the explicit const MAPM& m . So, as before, if you want to move it out of the class scope, you'll need to convert the implicit first parameter this to an explicit parameter. Something like this (now showing the move of both operators out of the class):
class MAPM
{
friend MAPM operator--(MAPM& m);
friend MAPM& operator-=(MAPM& m1, const MAPM& m2);
};
MAPM operator--(MAPM& m)
{
return m = m - MM_One;
}
MAPM& operator-=(MAPM &m1, const MAPM& m2)
{
m1 = m1 - m2;
return m1;
}
Hope that helps,
--
jlr
http://jlamas.blogspot.com/[^]
|
|
|
|
|
Thanks much. MAPM now builds! I'm on a time critical path and so I appreciate your responding so quickly.
There's a lot of testing to do to see if MAPM still operates as intended -- this arbitrary precision stuff is complicated. But I'm on my way ....
-Ted
|
|
|
|
|
TedCB wrote:
Thanks much. MAPM now builds!
Good! Glad to be of help.
TedCB wrote:
I'm on a time critical path and so I appreciate your responding so quickly.
That was just luck. I connected shortly after your post and started reading the most recent threads
TedCB wrote:
There's a lot of testing to do to see if MAPM still operates as intended -- this arbitrary precision stuff is complicated. But I'm on my way ....
Keep going, and good luck
--
jlr
http://jlamas.blogspot.com/[^]
|
|
|
|
|
I want to hide my executing process in task manager.How can I?
|
|
|
|
|
Why do you want to do that? Name a good reason other than to write a virus.
8bc7c0ec02c0e404c0cc0680f7018827ebee
|
|
|
|
|
I want to make a program which doesn't allow any how to go focus out of him not even the mouse cursor goes out the window and I even want to trap the message ctrl+alt+del,so that my process can't be killed.
|
|
|
|
|
Is this a virus?
8bc7c0ec02c0e404c0cc0680f7018827ebee
|
|
|
|
|
|
I want to know how to execute the program before the login screen appears, and how to abort the system shutdown , I uses the abortsystemshutdown function but it works only in win98 and even in win 98 after calling the function the system shows the message not responding.
|
|
|
|
|
Anonymous wrote:
I want to know how to execute the program before the login screen appears...
Are you talking about a service?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
No, he is talking about a virus
Einstein: "Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe."
My Articles
|
|
|
|
|
I'm not sure how you gleaned that from the original post.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Hi,
I'm really stuck guys. I tried to change the icon in "folder options
|
|
|
|
|
In the 'Folder Options' -> 'File Types', There'll be another entry called "Folder" apart from "File Folder". (If it's not there, create it). Click Advanced and in the coming dialog box, add action "Open" with application "C:\Windows\Explorer.exe".
Regards,
Pravin.
|
|
|
|
|
Hi pravin,
Thanks a lot for that, but I got the information I needed.
Here it is if anyone has the same problem in the future.
1. Click start<run, type="" in="" "regedit"="" the="" box="" without="" quotes.
2.="" navigate="" to="" this="" location
hkey_classes_root\file="" folder
3.="" click="" on="" "shell",="" right="" pan="" highlight="" it.
4.="" 'default'="" value="" and="" select="" modify
5.="" replace="" what's="" "value="" data"="" with="" word="" "none",="" quotes.
that="" will="" reset="" it="" back="" normal.
this="" happend="" when="" i="" simply="" tried="" change="" icon="" for="" folder,="" drives.
here="" is="" how="" do="" that="" if="" you="" ever="" try="" drive="" icons="" xp="" buying="" iconpackager.
1.="" start<run,="" location
hkey_local_machine\software\microsoft\windows\currentversion\explorer\driveicons
if="" key="" does="" not="" already="" exist="" then="" create="" it.
3.="" driveicons="" folder="" a="" new="" sub-key="" single="" letter="" representing="" of="" be="" modified.="" (e.g.="" [hkey...\driveicons\c])
to="" sub-key,="" menu="" popup,="" new,="" key.="" name="" want="" for.
4.="" specified="" change,="" say="" c,="" another="" called="" "defaulticon"="" [hkey...\driveicons\c\defaulticon])
5.="" set="" "(default)"="" equal="" fully="" qualified="" file.="" file="" contains="" more="" one="" follow="" comma="" zero-based="" index="" "c:\icons\myicons.dll,4").
that's="" it.
if="" drive:
create="" within="" "defaultlabel"="" [hkey...\driveicons\c\defaultlabel])="" it's="" label="" "my="" zip="" drive").
for="" example:
defaulticon
(default)="c:\icons\myicons.dll,4
DefaultLabel
(Default)" =="" my="" drive
here="" an="" example="" tree="" mine
<a="" href="" rel="http://img301.imageshack.us/my.php?image=driveiconschange6le.jpg">DriveIconChange
Justice
|
|
|
|
|
i wanna write a program which can send messages as WM_LBUTTON_DOWN to other apps, for example, i want to work out the operation ->open "notepad"->input "ABC" in that blank edit area, what can i do in my own program? thanks a lot
Josephvan thanks for your attention
|
|
|
|
|
u can use SendInput() function. But to send characters to a specific edit window its probably best to use WM_CHAR with PostMessage().
|
|
|
|
|
is there any free SMTP server which i can use for sending e mails as i have written a module for sending emails in VC but i am not finding any free SMTP servers with which my module can connect.I have also found some free smtp servers on internet but when i try to connect to them i get the error of RELAY.i don't have any idea what is the problem.please explain what is the relay error and also tell me a free smtp server with which i can connect. i don't want to use MicroSoft exchange server.do help.
thanks
Be FaithFull To Your Work.
|
|
|
|
|
Usman Tasleem Akshaf wrote:
but when i try to connect to them i get the error of RELAY
The "error of relay" means that SMTP server is not willing to send mail for everyone; only authorized users can use the server to send mail.
Yes, there are some open relays out there. In most cases, it's not because they *want* to donate their resouces to anonymous others, but because some admin didn't do his job and didn't properly secure it. In any case, using one of those servers without authorization isn't ethical at all. Besides, these open relays, even when they appear to work, are so heavily abused by spammers that are blocked almost everywhere; most properly administered servers refuse to accept any message from them.
So, I suggest you either install your own SMTP server (paying for the hardware, software, bandwidth, administration, maintenance, etc.) or you get SMTP service from someone else. You could talk to your ISP, they usually provide that service.
--
jlr
http://jlamas.blogspot.com/[^]
|
|
|
|
|
In SDI dialog based applications, InitDialog() is used for the any specific initializations . i would like to know that while building an activex control using vc wizard which function is used for specific initializations.
Be FaithFull To Your Work.
|
|
|
|