Конференция "Corba" » delphi + AOL IM (AIM6) [Delphi, Windows]
 
  • mosk (12.05.08 12:41) [20]


    AccResult); dispid 501;
       procedure OnSecondarySessionChange(const session: IAccSession;
                                          const secondarySession: IAccAvSession; Property_: SYSINT); dispid 502;
       procedure OnParticipantJoined(const session: IAccSession;
                                     const secondarySession: IAccAvSession;
                                     const participant: IAccParticipant); dispid 503;
       procedure OnParticipantChange(const session: IAccSession;
                                     const secondarySession: IAccAvSession;
                                     const oldPart: IAccParticipant; const newPart: IAccParticipant;
                                     prop: AccParticipantProp); dispid 505;
       procedure OnParticipantLeft(const session: IAccSession; const secondarySession: IAccAvSession;
                                   const participant: IAccParticipant; method: AccResult;
                                   const by: WideString; const reason: WideString); dispid 504;
       procedure OnInviteResult(const session: IAccSession; const secondarySession: IAccAvSession;
                                const userName: WideString; transId: SYSINT; hr: AccResult); dispid 506;
       procedure OnEjectResult(const session: IAccSession; const secondarySession: IAccAvSession;
                               const userName: WideString; transId: SYSINT; hr: AccResult); dispid 507;
       procedure BeforeImSend(const session: IAccSession; const imSession: IAccImSession;
                              const recipient: IAccParticipant; const im: IAccIm); dispid 600;
       procedure OnImSent(const session: IAccSession; const imSession: IAccImSession;
                          const recipient: IAccParticipant; const im: IAccIm); dispid 601;
       procedure OnImSendResult(const session: IAccSession; const imSession: IAccImSession;
                                const recipient: IAccParticipant; const im: IAccIm; hr: AccResult); dispid 602;
       procedure BeforeImReceived(const session: IAccSession; const imSession: IAccImSession;
                                  const sender: IAccParticipant; const im: IAccIm); dispid 603;
       procedure OnImReceived(const session: IAccSession; const imSession: IAccImSession;
                              const sender: IAccParticipant; const im: IAccIm); dispid 604;
       procedure OnLocalImReceived(const session: IAccSession; const imSession: IAccImSession;
                                   const im: IAccIm); dispid 608;
       procedure OnInputStateChange(const session: IAccSession; const imSession: IAccImSession;
                                    const userName: WideString; State: AccImInputState); dispid 605;
       procedure OnEmbedDownloadProgress(const session: IAccSession; const imSession: IAccImSession;
                                         const im: IAccIm; const embedId: WideString;
                                         const stream: IAccStream); dispid 606;
       procedure OnEmbedDownloadComplete(const session: IAccSession; const imSession: IAccImSession;
                                         const im: IAccIm); dispid 612;
       procedure OnEmbedUploadProgress(const session: IAccSession; const imSession: IAccImSession;
                                       const im: IAccIm; const embedId: WideString;
                                       const stream: IAccStream); dispid 607;
       procedure OnEmbedUploadComplete(const session: IAccSession; const imSession: IAccImSession;
                                       const im: IAccIm); dispid 613;
       procedure OnRateLimitStateChange(const session: IAccSession; const imSession: IAccImSession;
                                        State: AccRateState); dispid 611;
       procedure OnNewFileXfer(const session: IAccSession; const fileXferSession: IAccFileXferSession;
                               const fileXfer: IAccFileXfer); dispid 700;
       procedure OnFileXferProgress(const session: IAccSession;
                                    const fileXferSession: IAccFileXferSession;
                                    const fileXfer: IAccFileXfer); dispid 701;
       procedure OnFileXferCollision(const session: IAccSession;
                                     const fileXferSession: IAccFileXferSession;
                                     const fileXfer: IAccFileXfer); dispid 702;
       procedure OnFileXferComplete(const session: IAccSession;
                                    const fileXferSession: IAccFileXferSession;
                                    const fileXfer: IAccFileXfer; hr: AccResult); dispid 703;
       procedure OnFileXferSessionComplete(const session: IAccSession;
                                           const fileXferSession: IAccFileXferSession; hr:


  • mosk (12.05.08 12:41) [21]


    AccResult); dispid 704;
       procedure OnFileSharingRequestListingResult(const session: IAccSession;
                                                   const fileSharingSession: IAccFileSharingSession;
                                                   const parentItem: IAccFileSharingItem;
                                                   transId: SYSINT; hr: AccResult); dispid 800;
       procedure OnFileSharingRequestXferResult(const session: IAccSession;
                                                const fileSharingSession: IAccFileSharingSession;
                                                const fileXferSession: IAccFileXferSession;
                                                transId: SYSINT; const fileXfer: IAccFileXfer); dispid 801;
       procedure OnAvStreamStateChange(const session: IAccSession;
                                       const avSession: IAccSecondarySession;
                                       const userName: WideString; stream: AccAvStreamType;
                                       State: AccSecondarySessionState; hr: AccResult); dispid 900;
       procedure OnAvManagerChange(const session: IAccSession; const avManager: IAccAvManager;
                                   prop: AccAvManagerProp; hr: AccResult); dispid 903;
       procedure OnAudioLevelChange(const session: IAccSession; const avSession: IAccSecondarySession;
                                    const userName: WideString; level: SYSINT); dispid 901;
       procedure OnSoundEffectReceived(const session: IAccSession;
                                       const avSession: IAccSecondarySession;
                                       const userName: WideString; const url: WideString); dispid 902;
       procedure OnCustomSendResult(const session: IAccSession;
                                    const customSession: IAccCustomSession;
                                    const recipient: IAccParticipant; const im: IAccIm; hr: AccResult); dispid 1002;
       procedure OnCustomDataReceived(const session: IAccSession;
                                      const customSession: IAccCustomSession;
                                      const sender: IAccParticipant; const Data: IAccIm); dispid 1004;
       procedure OnRequestSummariesResult(const session: IAccSession; transId: SYSINT; hr: AccResult;
                                          imSummaries: OleVariant); dispid 1100;
       procedure OnDeliverStoredImsResult(const session: IAccSession; transId: SYSINT; hr: AccResult); dispid 1101;
       procedure OnDeleteStoredImsResult(const session: IAccSession; transId: SYSINT; hr: AccResult); dispid 1102;
     end;

    // *********************************************************************//
    // Interface: IAccInstance
    // Flags:     (4416) Dual OleAutomation Dispatchable
    // GUID:      {EBE4EB0C-A31E-42D1-95E4-B1CCDE18E69D}
    // *********************************************************************//
     IAccInstance = interface(IDispatch)
       ['{EBE4EB0C-A31E-42D1-95E4-B1CCDE18E69D}']
       function  Get_Id: SYSINT; safecall;
       function  Get_Property_(Property_: AccInstanceProp): OleVariant; safecall;
       property Id: SYSINT read Get_Id;
       property Property_[Property_: AccInstanceProp]: OleVariant read Get_Property_;
     end;

    // *********************************************************************//
    // DispIntf:  IAccInstanceDisp
    // Flags:     (4416) Dual OleAutomation Dispatchable
    // GUID:      {EBE4EB0C-A31E-42D1-95E4-B1CCDE18E69D}
    // *********************************************************************//
     IAccInstanceDisp = dispinterface
       ['{EBE4EB0C-A31E-42D1-95E4-B1CCDE18E69D}']
       property Id: SYSINT readonly dispid 0;
       property Property_[Property_: AccInstanceProp]: OleVariant readonly dispid 1610743809;
     end;

    // *********************************************************************//
    // Interface: IAccAlert
    // Flags:     (4416) Dual OleAutomation Dispatchable
    // GUID:      {A99EFA3F-23C5-4A4B-B2F8-01EF6625FD48}
    // *********************************************************************//
     IAccAlert = interface(IDispatch)
       ['{A99EFA3F-23C5-4A4B-B2F8-01EF6625FD48}']
       function  Get_type_: AccAlertType; safecall;
       function  Get_Property_(Property_: SYSINT): OleVariant; safecall;
       property type_: AccAlertType read Get_type_;
       property Property_[Property_: SYSINT]: OleVariant read Get_Property_;
     end;

    // *********************************************************************//
    // DispIntf:  IAccAlertDisp
    // Flags:     (4416) Dual OleAutomation Dispatchable
    // GUID:      {A99EFA3F-23C5-4A4B-B2F8-01EF6625FD48}
    // *********************************************************************//
     IAccAlertDisp = dispinterface
       ['{A99EFA3F-23C5-4A4B-B2F8-01EF6625FD48}']
       property type_: AccAlertType readonly dispid 1610743808;
       property Property_[Property_: SYSINT]: OleVariant readonly dispid 1610743809;
     end;


  • mosk (12.05.08 12:41) [22]


    // *********************************************************************//
    // Interface: IAccParticipant
    // Flags:     (4416) Dual OleAutomation Dispatchable
    // GUID:      {53780D28-3F9B-407C-9F55-FE3EA90091FB}
    // *********************************************************************//
     IAccParticipant = interface(IDispatch)
       ['{53780D28-3F9B-407C-9F55-FE3EA90091FB}']
       function  Get_Name: WideString; safecall;
       function  Get_user: IAccUser; safecall;
       function  Get_Property_(Property_: AccParticipantProp): OleVariant; safecall;
       procedure Set_Property_(Property_: AccParticipantProp; value: OleVariant); safecall;
       property Name: WideString read Get_Name;
       property user: IAccUser read Get_user;
       property Property_[Property_: AccParticipantProp]: OleVariant read Get_Property_;
     end;

    // *********************************************************************//
    // DispIntf:  IAccParticipantDisp
    // Flags:     (4416) Dual OleAutomation Dispatchable
    // GUID:      {53780D28-3F9B-407C-9F55-FE3EA90091FB}
    // *********************************************************************//
     IAccParticipantDisp = dispinterface
       ['{53780D28-3F9B-407C-9F55-FE3EA90091FB}']
       property Name: WideString readonly dispid 1610743808;
       property user: IAccUser readonly dispid 1610743809;
       property Property_[Property_: AccParticipantProp]: OleVariant readonly dispid 1610743810;
     end;

    // *********************************************************************//
    // Interface: IAccFileXfer
    // Flags:     (4416) Dual OleAutomation Dispatchable
    // GUID:      {87A21EAE-E923-11D7-9CFD-00E081103594}
    // *********************************************************************//
     IAccFileXfer = interface(IDispatch)
       ['{87A21EAE-E923-11D7-9CFD-00E081103594}']
       function  Get_Property_(Property_: AccFileXferProp): OleVariant; safecall;
       procedure Set_Property_(Property_: AccFileXferProp; value: OleVariant); safecall;
       property Property_[Property_: AccFileXferProp]: OleVariant read Get_Property_;
     end;

    // *********************************************************************//
    // DispIntf:  IAccFileXferDisp
    // Flags:     (4416) Dual OleAutomation Dispatchable
    // GUID:      {87A21EAE-E923-11D7-9CFD-00E081103594}
    // *********************************************************************//
     IAccFileXferDisp = dispinterface
       ['{87A21EAE-E923-11D7-9CFD-00E081103594}']
       property Property_[Property_: AccFileXferProp]: OleVariant readonly dispid 1610743808;
     end;

    // *********************************************************************//
    // Interface: IAccPluginAdapter
    // Flags:     (272) Hidden OleAutomation
    // GUID:      {40DA67CB-1C81-4D9C-92BF-55CA2545DF92}
    // *********************************************************************//
     IAccPluginAdapter = interface(IUnknown)
       ['{40DA67CB-1C81-4D9C-92BF-55CA2545DF92}']
       function  Set_FileSpec(const Param1: WideString): HResult; stdcall;
     end;

    // *********************************************************************//
    // The Class CoAccSession provides a Create and CreateRemote method to          
    // create instances of the default interface IAccSession exposed by              
    // the CoClass AccSession. The functions are intended to be used by            
    // clients wishing to automate the CoClass objects exposed by the        
    // server of this typelibrary.                                            
    // *********************************************************************//
     CoAccSession = class
       class function Create: IAccSession;
       class function CreateRemote(const MachineName: string): IAccSession;
     end;

    implementation

    uses ComObj;

    class function CoAccSession.Create: IAccSession;
    begin
     Result := CreateComObject(CLASS_AccSession) as IAccSession;
    end;

    class function CoAccSession.CreateRemote(const MachineName: string): IAccSession;
    begin
     Result := CreateRemoteComObject(MachineName, CLASS_AccSession) as IAccSession;
    end;

    end.


  • mosk (12.05.08 12:42) [23]
    фу, наконецто:-)

    заранее спасибо
  • mosk (12.05.08 14:34) [24]
    пробую  делать так:

    procedure TForm1.Button1Click(Sender: TObject);
    var aim: iaccsession;
    begin
    aim:=Coaccsession.Create;
    end;

    пишет что класс не зарегистрирован

    как быть?
  • Сергей М. © (12.05.08 14:39) [25]

    > как быть?


    Для начала заглянуть в реестр и убедиться в том, что он действительно не зарегистрирован (или зарегистрирован не должным образом).
  • mosk (12.05.08 14:48) [26]
    зарегистрирован класс IAccSession здесь:
    HKEY_CLASSES_ROOT\Interface\{E0B2AA40-7BF5-11D3-A655-0060B0883B25}\ProxyStubClsid
    но значение CLSID у него почемуто отличается от того,ю что мне сгенерировала делфи
    в реестре {00020424-0000-0000-C000-000000000046}
    в файле AccCoreLib_TLB.pas такая картина:
    IAccSession = interface(IDispatch)
       ['{E0B2AA40-7BF5-11D3-A655-0060B0883B25}']

    интересно, почему так происходит, что-то ускользает от моего понимания а что - не пойму...

    вот к примеру добавил в uses модуль shdocvw и сделал так

    procedure TForm1.Button1Click(Sender: TObject);
    var ie: iwebbrowser2;
    begin
    ie:=CoInternetExplorer.Create;
    ie.visible:=true;
    ie.navigate.... ну итд
    end;

    все работает, а аол почемуто не хочет...
  • Сергей М. © (12.05.08 14:53) [27]

    > из нее я импортировал библиотеку типов acccore.dll


    А почему именно этот модуль был выбран тобой для импорта ?
  • mosk (12.05.08 14:57) [28]
    Сергей М.

    хм... он единственный импортировался из папки аола:-) я понял к чему вы ведете...

    есть какаянибуть програмка, которой можно посмотреть какие сервера автоматизации предоставляет то или иное приложение?
  • Сергей М. © (12.05.08 15:05) [29]

    > он единственный импортировался из папки аола


    Ты все подряд что ли пробовал импортировать ?

    То, что некий модуль содержит информацию о типах, еще не говорит о том, что этот модуль является модулем фабрики класса сервера автоматизации.

    Подозреваю, что им может являться исполняемый (ехе) модуль IM-клиента.


    > есть какаянибуть програмка, которой можно посмотреть какие
    > сервера автоматизации предоставляет то или иное приложение?
    >
    >


    Кое в чем поможет утилита OleView.exe из состава MS VisualStudio
 
Конференция "Corba" » delphi + AOL IM (AIM6) [Delphi, Windows]
Есть новые Нет новых   [134430   +2][b:0][p:0.011]