|
I am little confused, how can your hobby project break other people stuff.
Also I am not sure what exactly is your problem. You don't necessarily have to export all symbols from a DLL, like the C version of the DLL you talk about. You can redesign you functions into set of classes and choose not the export them. Then you can make the functions exported in the C DLL call these class to do the job. This way it won't break the interface.
-Saurabh
|
|
|
|
|
If you expose the same interface from that DLL, it doesn't matter if you implement it internally as C, C++ or Ada - it won't break the people who use the DLL.
So...keep those interface functions and re-route them to use your classes internally and you should be good.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
CodeProject MVP for 2010 - who'd'a thunk it!
|
|
|
|
|
Hi,
Thanks for the answer. Looking at it it is quite obvious that I was just over-thinking this whole thing. I guess I was worried about where to instantiate and destroy the class but I could just do that within the exported function I suppose.
|
|
|
|
|
The code is problematic free, yet the JumpList does not get created!
ICustomDestinationList* pJumpList = NULL;
if (SUCCEEDED(CoCreateInstance(CLSID_DestinationList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pJumpList))))
{
pJumpList->SetAppID(L"MyJumpList");
UINT uMaxSlots;
IObjectArray* pRemoved = NULL;
if (SUCCEEDED(pJumpList->BeginList(&uMaxSlots, IID_PPV_ARGS(&pRemoved))))
{
IObjectCollection* pContents = NULL;
if (SUCCEEDED(CoCreateInstance(CLSID_EnumerableObjectCollection, NULL,
CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pContents))))
{
IShellLink* pLink = NULL;
IPropertyStore* pStore = NULL;
PROPVARIANT var;
if (SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL,
CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pLink))))
{
pLink->SetPath(L"C:\\md5summer.exe");
pLink->QueryInterface(IID_PPV_ARGS(&pStore));
InitPropVariantFromString(L"Launch MD5Summer", &var);
pStore->SetValue(PKEY_Title, var);
pStore->Commit();
pContents->AddObject(pLink);
pStore->Release(); pStore = NULL;
pLink->Release(); pLink = NULL;
IObjectArray* pContentsArr = NULL;
pContents->QueryInterface(IID_PPV_ARGS(&pContentsArr));
pJumpList->AddUserTasks(pContentsArr);
pJumpList->CommitList();
}
}
}
}
|
|
|
|
|
|
LOL
I know that part, but I've copied that code from the Windows 7 Developer book.
|
|
|
|
|
Copying from book does not make it correct. I work on simple principle - if something is not working then it is broken and needs to be fixed. It doesn't matter who created it and what means are used to create it.
-Saurabh
|
|
|
|
|
Actually the code is working fine!
I found the problem, the problem is when I call the function that executes the JumpList creation.
If I call it to early and some of the wheels aren't spinning it doesn't work.
If I call it later it works.
|
|
|
|
|
|
I would like to know what everyone uses to create standalone help files for application that do NOT have access to the iNet. You know your standard *.chm files.
We have used RoBoHelp in the past but are looking for something easier.
Thanks in advance
Tony Teveris
Gerber Scientific Products
Senior Software Engineer
Phone: 860 648 8151
Fax: 860 648 8214
83 Gerber Road West
South Windsor, CT 06074
|
|
|
|
|
|
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
'HelpScribble' is good. (www.helpscribble.com)
David Anton
Convert between VB, C#, C++, & Java
www.tangiblesoftwaresolutions.com
|
|
|
|
|
Hello guys,
I'm trying to write a simple class in c++ including a short constructor.
Despite the fact that there are no obvious mistakes, there's always the same error message
C2512: no appropriate default constructor available
I do not call the default constructor, but my self written one, also the parameter lists match.
Does anyone already know this problem? If not I can post the listings.
Thanks and best wishes.
|
|
|
|
|
Austrian_Programmer wrote: Does anyone already know this problem?
Yes, provide a default constructor (one accepting no arguments). If that does not work, see here.
"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
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
If you've written a constructor with parameters, it is not called default constructor.
Default constructor is one with no parameters.
The object you're creating from the class probably needs a default constructor.
|
|
|
|
|
A default constructor is one provided by the compiler -- if you write one that takes no parameters it's not a default constructor.
Edit: Oh, I see, I wound up in the C++ forum somehow...
In C#, "default constructor" actually means something more than "parameterless constructor":
"
10.10.4 Default constructors
If a class contains no instance constructor declarations, a default instance constructor is automatically provided.
"
modified on Tuesday, April 27, 2010 6:00 PM
|
|
|
|
|
The C++ standard defines that "a default constructor is a constructor that can be called without arguments". (ISO/IEC 14882)
|
|
|
|
|
You are wrong. The default constructor is the constructor without arguments. Incidentally, if you don't write any constructor for your class then the compiler provides the default constructor for you.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Austrian_Programmer wrote: I do not call the default constructor, but my self written one, also the parameter lists match.
Since you've written one constructor the compiler provide no more the default one (that is sometimes required). Probably you should write the default constructor for your class (i.e. please report the exact error message and the offending line content).
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
The other side of the story is that, you can prevent a constructor being called (implicitly or explicitly) other than what you have provided.
|
|
|
|
|
I wrote a default constructor (empty and parameterless) and now it works. However, I do not know why; the default constructor is never called.
By the way, I know that a default constructor is not any self written one^^
|
|
|
|
|
If you can provide a sample code, it will help to understand the problem well.
Hope, your problem might be like the following one.
class CTest
{
public:
CTest( int a ) // since there is a constructor, the compiler won't generate
// the default (no-argument) constructor.
{
}
};
int main()
{
CTest Object; // Here, we are trying to invoke the no-argument constructor.
// So the error C2512 comes.
// To solve the problem, define a no-artument constructor.
// CTest Object( 1 ); Otherwise, you should declare the object like this.
return 0;
}
|
|
|
|
|
We need a custom button or custom graphic to be able to have multiple select points. We have looked at Button Objx and other tools but no luck yet. Eg. have a vehicle button or graphic and based on selection, eg. doors, hood, wheels, etc. go to different events or mark selections. We would need an outline front/back of a human body as well. Also, would need graphic/button to be able to be resized based on resolution.
Any ideas of what we can do.
thank you
CLAY
|
|
|
|
|
Kyle P wrote: We need a custom button or custom graphic to be able to have multiple select points...Any ideas of what we can do.
See here.
"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
"Man who follows car will be exhausted." - Confucius
|
|
|
|