|
This would give a redefinition error since you have a already in the function parameter. But hiding variables? can you explain it better?
:Gong: 歡迎光臨 吐 西批 :Gong:
|
|
|
|
|
VuNic wrote: This would give a redefinition error since you have a already in the function parameter.
a small modification, and it will compile fine:
void memFx(int a)
{
{
int a;
a = 25;
cout << "a: " << a << endl ;
}
}
that's variable hiding. the 'a' inside the brackets hides the 'a' from the containing scope, and so the function always outputs 25.
inner scope hides outer scope.
i'm not sure what all the rules are, though.
|
|
|
|
|
"Variable hiding"- Just learnt. Thanks Chris.
:Gong: 歡迎光臨 吐 西批 :Gong:
|
|
|
|
|
Chris Losinger wrote: that's variable hiding. the 'a' inside the brackets hides the 'a' from the containing scope, and so the function always outputs 25.
inner scope hides outer scope.
So what exactly is the purpose of this part of the language? Or in what circumstance would it be used?
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
|
|
|
|
|
S Douglas wrote: Or in what circumstance would it be used?
i've always used it accidentally. i don't know why anyone would want to use it on-purpose.
|
|
|
|
|
Chris Losinger wrote: i don't know why anyone would want to use it on-purpose.
Out of curiosity, I tried it on a small routine I know gets called and it indeed compiles fine in VS2005 no warnings / errors and it definitely changes the flow. Wierd
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
|
|
|
|
|
I noticed when I open my (both debug&released) EXE in Res(ource)Hacker, it displays Icon, Menu, Dialog, String Table, Icon Group, and Version Info.
I compared this to several other EXE (not by me), and they only have Icon, Icon Group, and Version Info displayed.
Anybody knows how to prevent the user from using Resource Hacker to change the Menu/String Table?
Thanks in advance.
|
|
|
|
|
You can simply pack your executable using a tool like UPX[^].
Note that UPX is free, but it's possible to unpack the packed executables, i.e. it won't prevent hackers frm editing your resources. If you want to compress+protect your executable, you could try ASPack[^], but note that it's a commercial program.
|
|
|
|
|
Well, not every application uses dialog templates in resources to generate their interfaces, they can generate them dynamically (in memory). Same goes for menus. Also, not all applications use the String Table to store constant strings.
Generally, most applications use them. For example, if you open up Explorer.exe, you will get everything.
Also, note that applications generated by different languages/environments may or may not use resources like a MFC app. For example, a VB application I have handy only contains Icon and Version resources. VB Forms are not static Dialog templates, I guess.
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
Actually I want to print the buffer in minicom using debug_hex..but it gives error could u please let me know looks like error in debug_hex command..
buffer_send->buf[buffer_send->buf_end++]=0x01;
buffer_send->buf[buffer_send->buf_end++]=0x01;
buffer_send->buf[buffer_send->buf_end++]=0x01;
for(j=0,j<3;j++)
debug_hex(buffer_send[j])
thanks.
|
|
|
|
|
ikbahrian wrote: ...but it gives error...
Is it error 17?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
thx david. i giving wrong argument to debug_hex..the right one is
debug_hex(buffer_send->buf[buffer_send->buf_ptr+j]);
|
|
|
|
|
I want to get text data in clipboard every time when it change.
for check if this data my project is need.
Anybody know How I get a notification if change occurs in clipboard?
|
|
|
|
|
Lookup the WM_CHANGECBCHAIN message and the clipboard functions like SetClipboardViewer(...) .
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
From MSDN:
WM_DRAWCLIPBOARD
The WM_DRAWCLIPBOARD message is sent to the first window in the clipboard viewer chain when the content of the clipboard changes. This enables a clipboard viewer window to display the new content of the clipboard.
A window receives this message through its WindowProc function.
You may be right I may be crazy -- Billy Joel --
Within you lies the power for good, use it!!!
|
|
|
|
|
|
i put this line in one of the header files in a MFC extention DLL project
#import "\projects\mylib\msado15.dll" no_namespace rename("EOF","adoEOF")
and as i compile it then it generates this error message (one of them)
d:\projects\project_dlls\klrmycls\klrmycls\debug\msado15.tlh(228) : error C2011: 'LockTypeEnum' : 'enum' type redefinition
e:\program files\microsoft visual studio 8\vc\platformsdk\include\dbdaoint.h(109) : see declaration of 'LockTypeEnum'
any idea how can i fix it?
thanks
cheers
|
|
|
|
|
Tjie Pouw wrote: any idea how can i fix it?
You could use Google to find this article[^]
led mike
|
|
|
|
|
Hello,
I try to access to a specific instance of a class at runtime with a pointer .
Could you please explain me how to do it.
My project is Document/view based but i do not use them in this case
My classes look like as follows:
Class MyView: public CDockPaneView // CDockPaneView inherits from CWnd
{
//This class populates a tree like an explorer with my own data
Public:
//Attributes
MyCtreeCtrl m_tree;// it derives from CTreeCtrl and used to create and populate the view
// Etc….
}
Class MyDlg : public CDialog
{
//This class owns a CtreeCtrl control that I would like to populate with data got //from MyView (A kind of clone)
Private:
OnMenuInsert()
{
// getting a pointer to the instance of MyCtreeCtrl or MyView
from here.
}
//Etc..
}
First: I start the application and push a button from the menu mapped to OnMenuInsert()
in MyDlg.
Then I would like to access to the instance of MyCtreeCtrl or MyView in order to get some data from there to populate the control owned by the dialog.
I think that I can get my data either from MyView or better from MyCtreeCtrl but at runtime I have no clue. I thank you very much if you could help me.
Hope that my explanation is clear because I am not only newbee with C++. With my English too
|
|
|
|
|
You can get document pointer using CFrameWnd::GetActiveView And getting view pointer using CDocument::GetActiveView .
|
|
|
|
|
I am afraid that it works with Document/View.
I've already tested a similar piece of code got from "MFC answer book" by eugene Kain.
CView* pView = static_cast<cframewnd*> (pMainwnd)->GetActiveFrame()->GetActiveView();
CRuntimeClass* pClass = pView->GetRuntimeClass();
CString str = pClass->m_lpszClassName;
And I get a pointer to the MFC View but not my Treeview.
any other idea?
|
|
|
|
|
Something like this maybe?
MyView *pMyView = DYNAMIC_DOWNCAST(MyView, GetActiveView());
if (pMyView)
{
pMyView->m_tree ...
}
|
|
|
|
|
How this view class is created then ? Who owns it ?
|
|
|
|
|
Dear All,
I need to do that Registering COM dll by coding ...
Now can i do that ?
Thanks.
Nice things do nice works
|
|
|
|
|
Sakthiu wrote: I need to do that Registering COM dll by coding ...
Now can i do that ?
Yes.
-------------------------------
If you are looking to register a com dll from your application - Simplest way could be to run RegSvr32.exe in silent mode (parameter -s) through ShellExecute()
|
|
|
|