home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / MYAUTO.CPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  2KB  |  63 lines

  1. //----------------------------------------------------------------------------
  2. //Borland C++Builder
  3. //Copyright (c) 1987, 1997 Borland International Inc. All Rights Reserved.
  4. //----------------------------------------------------------------------------
  5. /*
  6.   This object has one method and one property that are available via OLE
  7.   automation. The property allows you to set the value of a string, and
  8.   the method shows the string in a dialog.
  9.  
  10.   For this example to work, you need to run the TestAp program, stored in this
  11.   same directory. Before running TestAp, you should run this program once,
  12.   passing in /regserver as the program's sole parameter.
  13.  
  14.   Open up the DPR file to see the call to Automation.ServerRegistration. }
  15. */
  16.  
  17. int Initialization();
  18. static int Initializer = Initialization();
  19.  
  20. #undef RegisterClass
  21.  
  22. #include "myauto.h"
  23. #include <Dialogs.hpp>
  24.  
  25. __fastcall TMyAuto::TMyAuto() : TAutoObject(){
  26. }
  27.  
  28. void __fastcall TMyAuto::ShowDialog(){
  29.         if (FMyProp == ""){
  30.            FMyProp = "This object has a property called MyProp";
  31.            ShowMessage(FMyProp);
  32.         }
  33. }
  34.  
  35. void __fastcall TMyAuto::SetMyProp(AnsiString S){
  36.                 ShowMessage("In SetMyProp()");
  37.                 ShowMessage(S);
  38.  
  39.         FMyProp = S;
  40. }
  41.  
  42. AnsiString __fastcall TMyAuto::GetMyProp(){
  43.                 ShowMessage("In GetMyProp()");
  44.        return FMyProp;
  45. }
  46.  
  47. void RegisterMyAuto(){
  48.       TAutoClassInfo AutoClassInfo;
  49.       AutoClassInfo.AutoClass = __classid(TMyAuto);
  50.       AutoClassInfo.ProgID = "AUTOPROJ.MyAuto";
  51.       AutoClassInfo.ClassID = "{FE67CF61-2EDD-11CF-B536-0080C72EFD43}";
  52.       AutoClassInfo.Description = "Sam";
  53.       AutoClassInfo.Instancing = acMultiInstance;
  54.  
  55.       Automation->RegisterClass(AutoClassInfo);
  56. }
  57.  
  58. int Initialization(){
  59.   RegisterMyAuto();
  60.   return 0;
  61. }
  62.  
  63.