|
Are you sure that function (SetOccDialogInfo) is available in this version of MFC (VS 6.0?)
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
I have been using VC 6.0 for at least 15 years and this is the first time I encountered this linker error.
I am going for full reinstall of the VC 6.0 for now.
|
|
|
|
|
Hi,
I have an app that has two tab, "informes" and "variables", but I have to delete the informes tab becouse now it is not used. The code isn't me, and due to it, I don't know how to delete the tab.
This is the app.
http://i42.tinypic.com/2bwfiu.png
I think that the tab is created in Ftab file, but I dont know where.
http://www.megaupload.com/?d=UDMM3WC5[^]
|
|
|
|
|
Paul DiLascia wrote: // Copyright 1999 Paul DiLascia
// If this program works, it was written by Paul DiLascia.
// If not, I don't know who wrote it.
As read in FTab.cpp/.h
+10
I'd guess that the 'informes' tab is created(added to the list of tabs) with CFolderTabCtrl::AddItem or perhaps they're all loaded at once from a resource, via the CFolderTabCtrl::Load method.
If you have the source, I'd simply search for 'informes' - I'd check the resources too.
Failing that - if you have a debug build, I'd get Ida Pro Advanced (you can get a free-version) and analyse the exe file, looking for either (a) references to the string 'informes' or (b) references to any/all functions in the CFolderTabCtrl class.
|
|
|
|
|
Is this a property sheet/page arrangement? Have you checked the sheet's constructor?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
Yes I cheked, and I think that here there aren't any to indicate the number of tab.
In " AdestView.cpp" there is a function that call one function of this file:
[code]
void CAdestView::OnUpdate(CView* , LPARAM , CObject* )
{
........
....
...
if (!m_wndFolderTab.GetItemCount ())
{
m_wndFolderTab.CreateFromStatic (IDC_FOLDERTAB, this);
m_wndFolderTab.Load (IDR_FOLDERTABS);
f = m_Lista.GetFont ();
m_wndFolderTab.SetFonts (f,f);
}
...
...
[/code]
But I don't know how to create only one tab and not two
|
|
|
|
|
antonio343 wrote: But I don't know how to create only one tab and not two
Have you looked for the IDR_FOLDERTABS resource (which I think is a newline-separated list of tab names)?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
Hi,
I´m searching for the best way, to define some kind of as function alias in C++
I have the following class:
class c1
{
private:
CString FunctionWithADisturbingLongName(int i);
}
And i want the function to have the long function name, because the function of the function has to be explained in it .
But I want to have a shortcut to the function.
I want to do this
c1 test;
test.short_1(1);
instead of
c1 test;
test.FunctionWithADisturbingLongName(1);
Of course I could declare and define short_1 as a member of c1, and then call FunctionWithADisturbingLongName in it, but there has to be a better solution.
Thank you for helping!
|
|
|
|
|
#define FunctionWithADisturbingLongName test
That might do the trick as well.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
That would probably work... although this might make debugging a bit of a pain.
|
|
|
|
|
I could sense the tears falling as I typed in that answer.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
...I still five'd the answer since it would probably work.
|
|
|
|
|
It will work, Windows uses it all over the place for the ASCII/Unicode versions of function names.
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
I wasn't doubting it.
|
|
|
|
|
The word probably implied that you were not sure.
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
The obvious way would be:
class cl
{
public:
CString short_l(int i){ return FunctionWithADisturbingLongName(i);}
}
Now, this has the added clarity of still allowing the compiler to point you in the correct direction for debugging errors. Using a macro would probably switch names on you all the time (if there's an error it'll report the substituted string).
|
|
|
|
|
This is probably the safest and most sensible way of accomplishing what the OP has requested.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
Stick an __inline in there and that ought to do it.
class cl
{
public:
__inline CString short_l(int i){ return FunctionWithADisturbingLongName(i);}
}
|
|
|
|
|
Function pointer or wrap the big named func in a small one.
Oh yeah, function pointers suck in C++. Awfull damn syntax.
==============================
Nothing to say.
|
|
|
|
|
Me think that it is a bad idea.
Your code will be peppered with function calls to short and/or abbreviated method names that will not reflect what it actually do; and the user (other developers) will need to look at the documentation to know what it should be doing.
Watched code never compiles.
|
|
|
|
|
oh, I agree that this would be bad practice. Basically, you have a descriptive function name that makes the code reading for understanding far easier. But instead, you'll have code that uses short, cryptic names because it's easier to type (unless you're letting the wizard auto-complete function names)
There's a reason that .NET Obfuscation routines create names like "N1", "N2", etc. It's because it makes the code harder to read and understand. Why do that on purpose to code you have to maintain.
|
|
|
|
|
Agree too... unless the short names still provide sufficient information to make it readable, although if that's the case... why keep the long names at all (unless it's a library of sorts)...
|
|
|
|
|
I too agree with all of that.
|
|
|
|
|
There are several ways
1. #define works, if you choose a reasonably unique name, but it clutters the global namespace and therefore not a good idea.
2. declaring a second function that wraps the first adds code cluttering in your original class
3. a function pointer could work, but involves awkward syntax both for defining the pointer and calling the function
4. a function object would add quite a lot of code, but requires neither changing your original class nor dereferencing to invoke the function:
class shortname {
public:
shortname(class c1* p) : pclass(p) {}
CString operator()(int i) { return pclass->FunctionWithADisturbingLongName(i); }
private:
class c1* pclass;
};
void foo() {
c1 test;
shortname(&test);
CString result = shortname(1);
}
|
|
|
|
|
Hi all.
I need to develop a program that manage a FAT or NTFS partition. It should directly access and analyze sectors in partition for its management, and it should can read files list, read file data,create new file and write data to that file.
I search web very much but not found any open source app that match that I need.
Is there any open source app that manage FAT or NTFS partition?
If you can please help me.
excuse me for bad English.
Thanks a'lot.
|
|
|
|