ContributionsMost RecentMost LikesSolutionsRe: Connecting to TestComplete from DelphiI found the answer. It must be: TC.Integration.TestSuite['DatServ']; - project test suite or: TC.Integration.TestSuite['']; - project suite test suiteConnecting to TestComplete from DelphiHello! Can I get access from Delphi application to TestComplete TestSuite? My code: uses TCConnect; ... procedure some; var i : integer; begin TC.Visible := true; TC.Integration.OpenProjectSuite(Edit1.Text); i := TC.Integration.TestSuite('').count; end; But I have error EOleSysError with message "Member of group not found".Re: Get Projects of Projectsuite through the ITCIntegration ObjectHello! Can I get access from Delphi application to TestComplete TestSuite? My code: uses TCConnect; ... procedure some; var i : integer; begin TC.Visible := true; TC.Integration.OpenProjectSuite(Edit1.Text); i := TC.Integration.TestSuite('').count; end; But I have error EOleSysError with message "Member of group not found".Re: SDK problem procedure TSampleEventNotifier.OnEngineEvent(Event: TC_TESTENGINE_EVENT); safecall; var Messenger: IaqMessenger; List : Tstringlist; begin ShowMessage('It is work!'); EventManager.RaiseEvent(ItcTestEngineEvent, Synchronized); end; When tests run message don't show. Re: SDK problemHi! It is nothing happens. Because when I install plugin in TestComplete, and run some tests - nothing happens.SDK problemHello. I have problem with TC SDK. I want to make my own panel, and do something when test engine execution failed. I don' understand how to work with Notifications Subsystem. I did following step, but it does not work: Define an interface for your event and inherit it from IaqBaseEvent . Create (define, interface and class) a notifier for the event. The notifier must implement the interface of the message that this notifier sends. To send data to the event manager, the notifier should call the RaiseEvent , RaiseEventEx or RaiseVariantEvent method of the IaqEventManager object. Create a dispatcher object for the event. This object must implement the IaqEventDispatcher interface. This interface contains two properties - SyncNotifier and AsyncNotifier - that return references to the synchronous and asynchrounous notifier objects, and the DispatchEvent method that is used to notify subscribers about an event (see sample code below). Register the notifier and dispatcher in the event manager using the IaqEventManager. My code: unit MyPanel; interface uses BaseWindowPlugin, PluginBaseExtRegistrator, {$I uses.inc}, {$I usesint.inc}; type // Notifier TSampleEventNotifier = class(TInterfacedObject, IaqKeyItem, IaqBaseEvent, ItcTestEngineEvent) private FBaseManager: IaqBaseManager; FEventManager: IaqEventManager; FSynchronized: Boolean; protected { IaqKeyItem } procedure GetKey(out Value: TGUID); stdcall; { IaqBaseEvent } function Get_EventInfo: WideString; safecall; {ItcTestEngineEvent} procedure OnTestEvent(Event: TC_TESTENGINE_EVENT; const Test: ItcTest); safecall; procedure OnEngineEvent(Event: TC_TESTENGINE_EVENT); safecall; protected property BaseManager: IaqBaseManager read FBaseManager; property EventManager: IaqEventManager read FEventManager; property Synchronized: Boolean read FSynchronized; public constructor Create(const ABaseManager: IaqBaseManager; ASynchronized: Boolean); end; // Dispatcher TSampleBaseEventDispatcher = class(TInterfacedObject, IaqEventDispatcher) private FBaseManager: IaqBaseManager; FMessenger: IaqMessenger; protected FSyncNotifier: IaqBaseEvent; FAsyncNotifier: IaqBaseEvent; { IaqEventDispatcher } procedure DispatchEvent(const EventID: TGUID; Data: UINT_PTR; Size: LongWord; const Event: IaqBaseEvent); virtual; safecall; function Get_SyncNotifier: IaqBaseEvent; safecall; function Get_AsyncNotifier: IaqBaseEvent; safecall; property BaseManager: IaqBaseManager read FBaseManager; property Messenger: IaqMessenger read FMessenger; public constructor Create(const ABaseManager: IaqBaseManager); end; implementation uses SysUtils, PanelForm, BasePlugin, ActionsConst, Dialogs, classes; {$R SimplePanelBitmap.res} { TSampleEventNotifier } constructor TSampleEventNotifier.Create(const ABaseManager: IaqBaseManager; ASynchronized: Boolean); var GUID : TGUID; Dispathcer : IaqEventDispatcher; begin inherited Create; FBaseManager := ABaseManager; FEventManager := FBaseManager.Managers[IaqEventManager] as IaqEventManager; Dispathcer := FBaseManager.Managers[IaqEventDispatcher] as IaqEventDispatcher; GetKey(GUID); FEventManager.AddDispatcher(GUID, Dispathcer); FSynchronized := ASynchronized; end; function TSampleEventNotifier.Get_EventInfo: WideString; begin Result := ''; end; procedure TSampleEventNotifier.GetKey(out Value: TGUID); const Key : TGUID = '{25CF0665-B50F-405C-B7F4-4979C7C99A80}'; begin Value := Key; end; procedure TSampleEventNotifier.OnEngineEvent(Event: TC_TESTENGINE_EVENT); safecall; var Messenger: IaqMessenger; List : Tstringlist; begin // there I do something. Is it right? EventManager.RaiseEvent(ItcTestEngineEvent, Synchronized); end; procedure TSampleEventNotifier.OnTestEvent(Event: TC_TESTENGINE_EVENT; const Test: ItcTest); begin end; { TSampleBaseEventDispatcher } constructor TSampleBaseEventDispatcher.Create(const ABaseManager: IaqBaseManager); begin FBaseManager := ABaseManager; FMessenger := FBaseManager.Managers[IaqMessenger] as IaqMessenger; FSyncNotifier := TSampleEventNotifier.Create(ABaseManager, True); FAsyncNotifier := TSampleEventNotifier.Create(ABaseManager, False); end; procedure TSampleBaseEventDispatcher.DispatchEvent(const EventID: TGUID; Data: UINT_PTR; Size: LongWord; const Event: IaqBaseEvent); begin (Event as ItcTestEngineEvent).OnEngineEvent(TC_PLAYING_BEFORE_START); end; function TSampleBaseEventDispatcher.Get_AsyncNotifier: IaqBaseEvent; begin Assert(FASyncNotifier <> nil); Result := FASyncNotifier; end; function TSampleBaseEventDispatcher.Get_SyncNotifier: IaqBaseEvent; begin Assert(FSyncNotifier <> nil); Result := FSyncNotifier; end; end. And I have read SDK help.Re: Issue with 'Stop on error' in editor window Hi Alex! You wrote: Do you mean you've set the value of a test item's "Stop on error" property to "Test Item", and the execution of this item was not interrupted although errors occurred? Yes. I have set the value of a test item's "Stop on error" property to "Test Item". I added the Project there I work this Calc. If when the test (in Unit1) execute I close window Calc TC still runing test. Re: Issue with 'Stop on error' in editor windowI have some, like this, problem. I use TC 8.10. In my project I have 3 test item, every test item has only one script this one procedure for test: Project Script1 procedure test1 .... Script2 procedure test1 .... Script3 procedure test1 .... So, I would like to know how to do next: if, for example, in test item 1 (that contains the script 1) was error, can it stop execution of current test? Because although I set options "Stop on error" for test item it still execution this test item. I hope you uderstand me. Help me, please.Re: About activationOk. I have read it "License Check Problems". But it does not help me, because where nothig new that I read before. Virtual machine can "ping" host-machine, and host-machine has connection to Internet. So, I ask again, please, explain me how to run TestEsecute on Virtual Machine? P.S. I have demo version of TestExecuteRe: About activationTo: Allen AQA I have read about it before. But I don't unedrstand how to do it. "If you have a TestExecute license, you should activate it on a physical machine (it becomes the License Manager PC) and then install TestExecute and run tests on virtual machines." How to run tests on virtual machine, if when I try to start TestExecute on virtual machine it says me that I must activate it?