|
Something's wrong Rutger
Am I supposed to link with something???
CoInitialize(NULL);
SimplePgp *p(__uuidof(SimplePgp));
CoUninitialize();
It refuses to compile
error C2059: syntax error : '__uuidof'
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Nish - Native CPian wrote:
SimplePgp *p(__uuidof(SimplePgp));
SimplePgpPtr p(__uuidof(SimplePgp));
Rama Krishna
When I am near don not fear.
|
|
|
|
|
Rama Krishna wrote:
SimplePgpPtr p(__uuidof(SimplePgp));
Fat lot of good that did!!!!!!!!
error C2065: 'SimplePgpPtr' : undeclared identifier
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
#import [dllname] no_namespace
or
prefix the SimplePgpPtr with the namespace declaration. Look at the generated [dllname].tlh and [dllname].tli to find out what the name of the namespace is. It would be same as the typelib name you gave to your COM server.
|
|
|
|
|
I did that and found that this now compiles :-
CoInitialize(NULL);
ISimplePgpPtr p(__uuidof(ISimplePgp)); <-- Run Time ERROR
//p->EncryptFile("d:\\in.txt","d:\a90.pgp","test@test.com");
CoUninitialize();
But program crashes at the above show line
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Nish - Native CPian wrote:
ISimplePgpPtr p(__uuidof(ISimplePgp));
ISimplePgpPtr p(__uuidof(SimplePgp));
|
|
|
|
|
Nish - Native CPian wrote:
CoInitialize(NULL);
SimplePgp *p(__uuidof(SimplePgp));
CoUninitialize();
It refuses to compile
error C2059: syntax error : '__uuidof'
Hello Nish,
Are you compiling it as a c++ file ? __uuidof() is both Microsoft & C++ specific so if it's in a .c file you might get this error. Also why are you using SimplePgp instead of _SimplePgpPtr (that's the generated smart pointer) and write _SimplePgpPtr p(__uuidof(SimplePgp).
you will still have to call the properties with -> but you can also access the smartpointers own methods trough the . operator.
Hope this works. the __uuidof turns blue in my vc 6.0 env so it's a recognised keyword.
Regards
Rutger
|
|
|
|
|
Rutger Ellen wrote:
Also why are you using SimplePgp instead of _SimplePgpPtr (that's the generated smart pointer) and write _SimplePgpPtr p(__uuidof(SimplePgp).
It's a CPP file.
I am now getting this error
error C2065: '_SimplePgpPtr' : undeclared identifier
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Writing test's in VB is far more easier than writing in C++. So continue using VB.
|
|
|
|
|
Rama Krishna wrote:
Writing test's in VB is far more easier than writing in C++. So continue using VB
I know and I will.
But right now I simply wanna get this to work from C++!!!!!!!
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Try this one Nish:
CoInitialize(NULL);
{
IYourInterfacePtr pServer;
HRESULT hr = pServer.CreateInstance(__uuidof(YourInterface));
if(SUCCEEDED(hr))
{
..........
}
}
::CoUninitialize();
Also add #include "YourInterface.h" and #include "YourInterface_i.c" to your file.
Hope that helps.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
CoInitialize(NULL);
ISimplePgpPtr pServer;
HRESULT hr = pServer.CreateInstance(__uuidof(ISimplePgp));
if(SUCCEEDED(hr))
pServer->EncryptFile("d:\\in.txt","d:\a90.pgp","test@test.com");
else
std::cout << "Failed\r\n";
CoUninitialize();
Waaaaaaaaaaaaaaaah!
It keeps printing out - Failed
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Nish - Native CPian wrote:
HRESULT hr = pServer.CreateInstance(__uuidof(ISimplePgp));
SimplePgp-------->Your I is extra.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
Mazdak wrote:
SimplePgp-------->Your I is extra.
If I remove the I, I get an error :-
error C2065: 'SimplePgp' : undeclared identifier
Nish
p.s. I am home now and trying it on VC++ 7 with same problems
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Nish - Native CPian wrote:
error C2065: 'SimplePgp' : undeclared identifier
Did you do that steps I said about stafx.h and.....?
Nish - Native CPian wrote:
p.s. I am home now and trying it on VC++ 7 with same problems
I test these things with VC6 and donna about VC7.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
Mazdak wrote:
Did you do that steps I said about stafx.h and.....?
Yes, I did all that
My tlh file is included below: [I have already posted this in another post]
As you can see there is no mention of any SimplePgp. There is ISimplePgp but nothing about SimplePgp
#pragma once
#pragma pack(push, 8)
#include <comdef.h>
struct __declspec(uuid("c9f9f5c7-a457-4bc1-9cc5-c42f68cbb5f9"))
__TestCom;
struct CSimplePgp;
struct __declspec(uuid("5ae26493-1190-4d2d-9897-a3b2000a80b8"))
ISimplePgp;
_COM_SMARTPTR_TYPEDEF(ISimplePgp, __uuidof(ISimplePgp));
struct __declspec(uuid("d3acd3f4-b659-4128-9ca7-ab5fe7a5b2e9"))
CSimplePgp;
struct __declspec(uuid("5ae26493-1190-4d2d-9897-a3b2000a80b8"))
ISimplePgp : IDispatch
{
VARIANT_BOOL TestNish (
_bstr_t MyName );
virtual HRESULT __stdcall raw_TestNish (
BSTR MyName,
VARIANT_BOOL * RetVal ) = 0;
};
#include "d:\projects\testcomclient\debug\TestCom.tli"
#pragma pack(pop)
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
I have suggestion for you Nish.When I get into troubles like this,I keep that project away.Do not think about it for some hours,then come back and start from THE BEGINNING.Maybe it works for you too.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
Mazdak wrote:
I have suggestion for you Nish.When I get into troubles like this,I keep that project away.Do not think about it for some hours,then come back and start from THE BEGINNING.Maybe it works for you too.
Mazy, thinmgs just got even more strange.
I tried out Jason's suggestion and instead of __uuidof(..) I did this :-
HRESULT hr=p.CreateInstance("TestCom.SimplePgp");
And it works fine!!!
Now I gotta figure out why __uuidof() failed both at office and here at home
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Nish - Native CPian wrote:
Now I gotta figure out why __uuidof() failed both at office and here at home
I'd be so pleased if you tell me after you find it out Nish.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
Mazdak wrote:
I'd be so pleased if you tell me after you find it out Nish.
This worked :-
HRESULT hr=p.CreateInstance(__uuidof(CSimplePgp));
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Look at this thread.
No wonder you are the Top Poster.
|
|
|
|
|
Rama Krishna wrote:
Look at this thread.
No wonder you are the Top Poster
Sorry
But I badly wanted to get it to work
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Thank you.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
#import "yourdll.dll" no_namespace
CoInitialize(NULL);
ISimplePgpPtr pServer;
HRESULT hr = pServer.CreateInstance("PutYourVersionIndependentProgIDHere");
if(SUCCEEDED(hr))
{
pServer->EncryptFile("d:\\in.txt","d:\a90.pgp","test@test.com");
pServer.Release();
pServer = NULL;
}
else
CoUninitialize();
Like it or not, I'm right.
|
|
|
|
|
This is my code :-
CoInitialize(NULL);
ISimplePgpPtr p;
HRESULT hr=p.CreateInstance(__uuidof(ISimplePgp));
if(!SUCCEEDED(hr))
std::cout << hr << "\r\n";
CoUninitialize();
return 0;
On running this I get this as the HRESULT error :-
-2147221164
VC++ Error Lookup says it is Class not registered
I am sure the class is registered
Nish!!!!!!!!
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|