|
I'm not sure of the standard way to do this but I usually create a simple object with a ShowModal method and add some code like this,
m_dlg.DoModal()
Then I create instance of my object in my calling applications and make a call to the ShowModal message.
Hope this helps,
Michael
|
|
|
|
|
Michael, you are correct. The right way is to instantiate dialog object and call DoModal () (for modal) or Create() for modeless dialog.
Hush..Hush.. thought I heard you calling my name now...
|
|
|
|
|
I am creating a COM component in Vc++ and it is going to be accessed from a Web Page. I have a method
in this Com component which is set up to return a result and error.The IDL looks something like this.
HRESULT myMethod([in] BSTR bstrIn, [out] BSTR *error,[out, retval] BSTR* pbstrOut);
I am able to sucessfully get the value when I make the call in VB/aSP
with
rtval = obj.myMethod(In,out)
But the value of "out" does not change it stays the same value that it was set before the call inspite of me chaning it inside the COM component. Do I need to do anything special to get the value out. I checked the web but they do not have any samples for IDL constructs [out] or [in,out]. Please let me know if anybody has tried it or how to get the results.
Krush
|
|
|
|
|
That is very simple....
I think that the problem is in VC side. In the function MyMethod.
How You return the *error and *pbstrOut values?
Carlos Antollini.
|
|
|
|
|
I am changing the content of
*error = _bstr_t("Error......");
*pbstrOut = _bstr_t("Result......");
The value in pbstrOut is returned but not the one in error. What do I need to do return both the values.
Krush
|
|
|
|
|
In the IDL, do [out, string] BSTR* error.....
In the function try the following:
CString strLastError = _T("Error............");
::SysFreeString(*error);
*error = strLastError.AllocSysString();
Cheers!!!!
Carlos Antollini.
|
|
|
|
|
Is it possible to have developer studio regenerate my activeX control wrappers, after I make changes to them (add properties and events), short of totally removing the controls from your project and then reinserting them? I am writing the controls using ATL (beginner) and my projects are MFC based. The generated code says the following comment:
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
// NOTE: Do not modify the contents of this file. If this class is regenerated by
// Microsoft Visual C++, your modifications will be overwritten.
// Dispatch interfaces referenced by this interface
Thanks in Advance,
John
|
|
|
|
|
Hi all,
I would like to know how to create an IM like application? How does an Instant Messenger work? What should I be reading (and where)? I would like you to share your ideas with me.
TIA,
Hush..Hush.. thought I heard you calling my name now...
|
|
|
|
|
To build a simple messenger system, you basically need to program a server and a client (like the IM that you download and install)
The server is listening for messages from the clients. When it receives a message from a client, it forwards it to the right client. The clients listen for messages from the server, when they receive them they alert the user.
It's not that hard to build a simple message system in for example Visual Basic or Delphi, what you have to learn is how to use network sockets. I would recommend you to buy a good book on it, usually you can get enough code from it to create a basic message application.
/_henrik
Henrik Sternberg, Consultant
Cambridge Technolgy Partners, Germany
www.ctp.com/ce
henrik.sternberg@ctp.nospam.com
(take away nospam)
|
|
|
|
|
Thanks a lot.
Also,I'd like to how to build an IM application in VC++/ATL/COM. Could you give me some ideas about how to implement this?
TIA.
Hush..Hush.. thought I heard you calling my name now...
|
|
|
|
|
have you thought about using a XML based application or using some MAPI session?
|
|
|
|
|
Hi All,
How can I create an array of BSTRs??? is the following correct?:
BSTR mybstr[] (of course preceeded by size_is and so on...)
And how woukd I have and [in] and an [out] parameter iof this sort???
If this is isn't possible then I guess a SAFERRAY which contains BSTRs is the solution right?? or not???
Help me please!!!!
Thanks a lot!!!!
Alberto Gattegno
Software Engineer
http://www.itginc.com
|
|
|
|
|
In my opinion a safe way to do this kind of operation is using a SafeArray.
vector<string>MyFileNameList__ ;
SAFEARRAY*BSTRSafeArray = SafeArrayCreateVector(VT_BSTR, 0, FileNameList__.size());
for (unsigned int index = 0 ; index < FileNameList__.size(); index++)
{
BSTR m_result = MyAnsiCtoBSTRFunct (FileNameList__[indx]) ;
reinterpret_cast<bstr*>(BSTRSafeArray->pvData)[index] = m_result ;
}
then if you want you can push it in a VARIANT struct
VARIANT *MYfileList ;
MYfileList->vt = (VT_BSTR | VT_ARRAY);
MYfileList->parray = const_cast<safearray*>(BSTRSafeArray);
Francesco Mattioli Software Developer francesco.mattioli@cedac.com
|
|
|
|
|
correction
vector<string> bla..bla..bla
|
|
|
|
|
My employer has at last acknowledged the need for COM/DCOM skills within the company
Unfortuantely only to the level of letting me buy a book
Can anyone reccommend a single book for getting started with COM/DCOM. The book needs to be gentle enough to introduce a COM novice, but advanced enough to be a useful reference manual for when I actually start using COM/DCOM.
|
|
|
|
|
Better visit www.wrox.com
I find wrox book on com/dcom very useful
I will recommend u start with the book
Beginning ATL 3 COM Programming by Richard Grimes if u r a C++ programmer
Shahid Munshi
|
|
|
|
|
Better visit www.wrox.com
I find wrox book on com/dcom very useful
I will recommend u start with the book
Beginning ATL 3 COM Programming by Richard Grimes if u r a C++ programmer
Shahid Munshi
|
|
|
|
|
Thanks for your suggestion. Any particular reasons for your reccomendation. I have read several adverse comments about this book?
|
|
|
|
|
Hey there,
Ooh, I'm hard-pressed to come up with a -single- book that suits your needs, but I'll go just a bit out on a limb and suggest _Inside_COM_, by Dale Rogerson. This book is, for me, the best introductory book on COM, and it was the -only- book I used for years (until I started writing my own itty-bitty COM ports to non-MS platforms). For learning COM, I can't reccomend the book too strongly, because it's both a very concise and easy-to-understand book on the fundamentals, and it covers the true goings-on at the binary level, rather than just glossing over those details: D.R. has a great way of describing these fundamentals in such a way that it all seems quite easy to implement - and it doesn't take too much longer to "get it." (Yes, there was a lag between implmentation and "getting it," but this seems to be the MO with COM developers.)
But, there's two major caveats. First, Rogerson devotes few pages in _Inside Com_ to DCOM. Basically, he covers pretty-much just the minimal to code and use COM objects over a remote network using DCOM, but that's about it. Actually, I haven't used DCOM, so he may cover it to as big an extent as necessary, but I somehow doubt it. Second, if you're going to be coding in Visual Basic or Java, or just building "turnkey" ATL COM objects, then Rogerson's book is probably too low-level: given the constraint of one book, I'd probably try find one that more focuses on the COM Wizards and such....
But, all that being said, _Inside_COM_ is a great book with which to get started - and you'll probably come to the reasonable conclusion that "one book for all COM" probably isn't the way to go (didn't the Bible have over ~30 books?). If that hits you, then I'd quickly run out and get Don Box's _Essential_COM_. Don Box is the Johnny Appleseed of COM technology, and his book can help grow your understanding of COM by leaps and bounds. In many ways, Box takes off where Rogerson stops: he focuses more on the distributed aspects of COM, as well as optimized coding strategies that may lead to higher performance software.
Finally, the web is also a great source of COM info - you can't miss wonderful articles like The COM Programmer's Cookbook, and Smart Pointers Considered More Harmful (or whatever it is called). These papers, and many more, are available on the web - and at the right price (free).
Hope this helps.
-andrew
|
|
|
|
|
Thanks very much for your help
|
|
|
|
|
Hi all,
I want to make a COM server that can be used with Power Builder.
Does anyone know if it is ok to have my interface inherited oly from IUnknown or do I need to inherit it from IDispatch???
In other words how does powerbuilder bind to a COM object.
Thanks a lot.
Please mail me as well...
Alberto Gattegno
Software Engineer
http://www.itginc.com
|
|
|
|
|
Hi,
I am desiging an ActiveX control.
It is working fine when it is placed in the word document.
But if user selects "design mode" , which is there in the MSWord,
the control is getting selected and when he double clicking on it,
it is going to VBScript mode.
This behaviour should not be there for my control.
-anil krishna
|
|
|
|
|
hi,dear all
Without using #import in the source code of client side , I want to get the interface point from the com server during the running of client .
For instance , through the menu operation , I locate the file which consists of the com-object .Then how can I get the interface point? The com-object does not implement the interface of IPersistFile.
Thanks a lot
|
|
|
|
|
Hello,
An ATL component control(intended to work with Excel and Word) is working in Win 95/98 but not working in WinNT. when i tried to debug it, control is not coming into the program even into the OnDraw(),even MessageBox() is not getting displayed with Excel. but it's working fine with Word. Please help me
Thankx in Advance
|
|
|
|
|
I think we need more information to be able to help,
What kind of control is it? Which option of the ATL wizard did you use? What version of ATL? Does the project include MFC? Which version of Visual studio?
When you debug the control, what line of code does it fail on? Is there an error code?
What version of Excel and Word ?
Does the control work in the ActiveX control test container?
Michael
|
|
|
|