Использование интерфейсов COM-сервера в программе C# для управления проектом Vector CanoeC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Использование интерфейсов COM-сервера в программе C# для управления проектом Vector Canoe

Сообщение Anonymous »

Я пытаюсь использовать Интерфейсы COM-сервера в программе C# для запуска определенного Тестового модуля в проекте Canoe. ------> При этом: я использую
  • Vector-Canoe 11 - SP3 (64-разрядная версия).
  • Visual Studio 2017.
Я пытался следовать Иерархии COM-объекты в Vector-Canoe Техническая помощь, но я продолжал получать исключения (например: в объекте Y нет метода с именем x).
Я много искал, но похоже, никто раньше не сталкивался с этой проблемой.
Наконец, я решил распечатать имена объектов в окно консоли, и оказалось, что имена, которые я получаю на консоли вывод окна не соответствует объектам имена, упомянутые в технической справке Vector-Canoe. Например, я получаю:
  • ICAPL5 вместо CAPL

    и
  • ITestEnvironments вместо TestEnvironments
    и
  • ITestEnvironment2 вместо TestEnvironment – и т. д....
Вот мои фрагменты кода C#:

Код: Выделить всё

using System;
using Vector.Tools;
using Vector.CANoe.Runtime;
using Vector.CANoe.Sockets;
using Vector.CANoe.Threading;
using Vector.Diagnostics;
using Vector.Scripting.UI;
using Vector.CANoe.TFS;
using Vector.CANoe.VTS;
using ASAM.HILAPI.Interfaces;
using ASAM.HILAPI.Implementation;
using Vector.CANoe.ASAM.HILAPI;
using NetworkDB;
using System.IO;

public class Canoe_autoFlash : TestModule
{
private CANoe.Application mCANoeApp;

private CANoe.Measurement mCANoeMeasurement;

private CANoe.CAPL CANoeCAPL;

private CANoe.TestEnvironments mTestEnvironments;

public Canoe_autoFlash()  // Constructor
{
//1. Initialize mCANoeApp:
mCANoeApp = new CANoe.Application();

//2. Initialize mCANoeMeasurement:
mCANoeMeasurement = (CANoe.Measurement) mCANoeApp.Measurement;
Console.WriteLine("mCANoeMeasurement object: " + Microsoft.VisualBasic.Information.TypeName(mCANoeMeasurement));

//3. Initialize CANoeCAPL:
CANoeCAPL = (CANoe.CAPL) mCANoeApp.CAPL;
Console.WriteLine("CANoeCAPL object: " + Microsoft.VisualBasic.Information.TypeName(CANoeCAPL));

//4. Initialize mTestEnvironments:
mTestEnvironments = (CANoe.TestEnvironments) mCANoeApp.Configuration.TestSetup.TestEnvironments;
}

public void get_actual_objects_names() // This function is for debugging
{
Console.WriteLine("mTestEnvironments object: " + Microsoft.VisualBasic.Information.TypeName(mTestEnvironments));

Console.WriteLine("TestEnvironment object: " + Microsoft.VisualBasic.Information.TypeName(mTestEnvironments[1]));

Console.WriteLine("TestEnvironment object Item 1 name : " + ((CANoe.TestEnvironment) mTestEnvironments[1]).Name );
}
Вот вывод окна консоли, показывающий имена странных объектов:

Код: Выделить всё

mCANoeMeasurement object: MeasurementClass
CANoeCAPL object: ICAPL5
Number of Test Envs = 1
mTestEnvironments object: ITestEnvironments
TestEnvironment object: ITestEnvironment2
Вот исключение, которое я получаю из-за следующей строки кода:

Код: Выделить всё

Console.WriteLine("TestEnvironment object Item 1 name : " + ((CANoe.TestEnvironment) mTestEnvironments[1]).Name );
Исключение:
System.Runtime.InteropServices.COMException: «Объект тестовой среды не найден».
Я был бы безмерно благодарен, если бы вы позволили мне понять причину этих странных названий объектов и способы получения правильных объектов, чтобы у меня не было проблем с следованием иерархии объектов в справке Vector-Canoe>

Подробнее здесь: https://stackoverflow.com/questions/634 ... oe-project
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»