-
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:
-
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;
IAccInstance = interface(IDispatch)
['']
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;
IAccInstanceDisp = dispinterface
['']
property Id: SYSINT readonly dispid 0;
property Property_[Property_: AccInstanceProp]: OleVariant readonly dispid 1610743809;
end;
IAccAlert = interface(IDispatch)
['']
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;
IAccAlertDisp = dispinterface
['']
property type_: AccAlertType readonly dispid 1610743808;
property Property_[Property_: SYSINT]: OleVariant readonly dispid 1610743809;
end;
-
IAccParticipant = interface(IDispatch)
['']
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;
IAccParticipantDisp = dispinterface
['']
property Name: WideString readonly dispid 1610743808;
property user: IAccUser readonly dispid 1610743809;
property Property_[Property_: AccParticipantProp]: OleVariant readonly dispid 1610743810;
end;
IAccFileXfer = interface(IDispatch)
['']
function Get_Property_(Property_: AccFileXferProp): OleVariant; safecall;
procedure Set_Property_(Property_: AccFileXferProp; value: OleVariant); safecall;
property Property_[Property_: AccFileXferProp]: OleVariant read Get_Property_;
end;
IAccFileXferDisp = dispinterface
['']
property Property_[Property_: AccFileXferProp]: OleVariant readonly dispid 1610743808;
end;
IAccPluginAdapter = interface(IUnknown)
['']
function Set_FileSpec(const Param1: WideString): HResult; stdcall;
end;
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.
-
фу, наконецто:-)
заранее спасибо
-
пробую делать так:
procedure TForm1.Button1Click(Sender: TObject); var aim: iaccsession; begin aim:=Coaccsession.Create; end;
пишет что класс не зарегистрирован
как быть?
-
> как быть?
Для начала заглянуть в реестр и убедиться в том, что он действительно не зарегистрирован (или зарегистрирован не должным образом).
-
зарегистрирован класс 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;
все работает, а аол почемуто не хочет...
-
> из нее я импортировал библиотеку типов acccore.dll
А почему именно этот модуль был выбран тобой для импорта ?
-
Сергей М.
хм... он единственный импортировался из папки аола:-) я понял к чему вы ведете...
есть какаянибуть програмка, которой можно посмотреть какие сервера автоматизации предоставляет то или иное приложение?
-
> он единственный импортировался из папки аола
Ты все подряд что ли пробовал импортировать ?
То, что некий модуль содержит информацию о типах, еще не говорит о том, что этот модуль является модулем фабрики класса сервера автоматизации.
Подозреваю, что им может являться исполняемый (ехе) модуль IM-клиента.
> есть какаянибуть програмка, которой можно посмотреть какие > сервера автоматизации предоставляет то или иное приложение? > >
Кое в чем поможет утилита OleView.exe из состава MS VisualStudio
|