[gme-users] Could someone please post an example for creating a window/dialog within an BON2 addon?
Sanjib Das
cnt.sanjib at googlemail.com
Mon Dec 8 02:52:56 CST 2014
Dear Kevin,
Thank a lot. Now its working. In the previous attempt I choose the "From
Typelib" from the Add class drop down. Like it was stated as bellow in the
previous link :
a., Invoke the Class Wizard (CTRL-W)
b., Click on Add Class... and select From a Type Library...
c., In the file chooser select the GME.exe file
e., In the next dialog select IGMEOLEApp
Where I wasn't able to create a new class by inheriting CDialog.
Thankfully
Sanjib
On Fri, Dec 5, 2014 at 3:37 PM, Kevin Smyth <ksmyth at isis.vanderbilt.edu>
wrote:
> While I don't think it addresses your issue, the code in that link should
> read:
>
> Folder root = project->getRootFolder();
> ASSERT(root);
> std::set<FCO> rootFCOs = root->getRootFCOs();
> FCO firstFCO = *rootFCOs.begin();
> CComPtr<IMgaFCO> mgaFCO = firstFCO->getFCOI().p; // Modify this line to
> show other object
> CComPtr<IMgaProject> mgaProject = project->getProjectI().p;
> ASSERT(mgaProject);
>
> CComPtr<IMgaClient> gmeClient;
> CComBSTR gmeName("GME.Application");
> COMTHROW(mgaProject->GetClientByName(gmeName, &gmeClient));
> ASSERT(gmeClient);
>
> CComPtr<IDispatch> gmeDispatch;
> COMTHROW( gmeClient->get_OLEServer(&gmeDispatch) );
>
> CComQIPtr<IGMEOLEApp> gmeApp(gmeDispatch);
>
> CComPtr<IMgaTerritory> terr;
> COMTHROW(mgaProject->get_ActiveTerritory(&terr));
> ASSERT(terr);
> COMTHROW(mgaProject->CommitTransaction());
>
> gmeApp->ShowFCO(mgaFCO);
>
> COMTHROW( mgaProject->BeginTransaction(terr) );
>
>
>
> Showing a dialog is not specific to GME, but here is how to do it:
> First create a dialog by right-clicking on the project, and selecting
> Class Wizard.... Hit Add Class. Fill out the name, and select CDialog as
> the base class.
>
> Then you can show the dialog by including resource.h and MyDialog.h, then
> inserting this code:
> CMyDialog dlg;
> dlg.DoModal();
>
> Kevin
>
>
>
> On 12/4/2014 7:35 PM, Sanjib Das wrote:
>
> Dear Concern,
>
> I am using the latest version of GME (GME-14.10.29). And trying to
> develop addon using source (GME-14.10.29_src) on MSVS2010.
>
> *Can someone please post an working example for creating a
> window/dialog/ popup on BON2 addon ?*
>
>
> Though there are few example found about modeless dialog box , such as
> http://list.isis.vanderbilt.edu/pipermail/gme-users/2004-July/000502.html
>
> Unfortunately after following the instruction I ended up with errors as
> bellow:
>
> CComPtr<IMgaFCO> mgaFCO = firstFCO->getFCOI(); is returning ::
>
> 1 IntelliSense: more than one user-defined conversion from
> "BON::FCOPtr" to "ATL::CComPtr<IMgaFCO>" applies:
> d:\hiwi\bon2component123\bon2component123\bon2component.cpp 106
>
>
> CComPtr<IMgaProject> mgaProject = project->getProjectI(); returns::
>
> " 2 IntelliSense: more than one user-defined conversion from
> "BON::ProjectPtr" to "ATL::CComPtr<IMgaProject>" applies:
> d:\hiwi\bon2component123\bon2component123\bon2component.cpp 107
> "
> And
>
> IGMEOLEApp gmeApp(gmeDispatch);
> " 3 IntelliSense: object of abstract class type "IGMEOLEApp" is not
> allowed: d:\hiwi\bon2component123\bon2component123\bon2component.cpp
> 118
> "
>
>
> I will be looking forward to have a response.
>
> Thankfully
>
> Sanjib Das
> University of Stuttgart
> Institut für Luftfahrtsysteme
>
>
> _______________________________________________
> gme-users mailing listgme-users at list.isis.vanderbilt.eduhttp://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>
>
>
> _______________________________________________
> gme-users mailing list
> gme-users at list.isis.vanderbilt.edu
> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.isis.vanderbilt.edu/pipermail/gme-users/attachments/20141208/18dd9dc3/attachment.html
More information about the gme-users
mailing list