Конференция "Основная" » Ошибка при обращении к COM серверу
 
  • atruhin © (18.09.17 09:25) [0]
    Здравствуйте!
    Есть COM сервер есть рабочий пример подключения на C builder:

    WideString port = L"Port";
    VARIANT vPort;
    vPort.vt = VT_I4;
    vPort.intVal = 4;
    res = FP.OleFunction(L"УстановитьПараметр", port.c_bstr(), vPort);
    if(res == VARIANT_FALSE)
     printf("Параметр Port не установлен");

           WideString id;
    res = FP.OleFunction(L"Подключить", &id);
    if(res == VARIANT_TRUE)
     printf("Подключение создано");


    пишу на Delphi

    var
     v : OleVariant;
     fDriver : variant;
     NM : WideString;
     DevID  : widestring; // , DevID
    begin
         TVarData(V).VType := vtt;
         TVarData(V).VInteger := 4;
         NM := 'Port';
         FDriver.SetParameter(NM, v);
         FDriver.Open(DevID);


    получаю ошибку "Не верный тип параметра", больше ни какой информации от сервера получить не удается.
    Изначально был вариант FDriver.SetParameter('Port', 4);, то же самое.
    В чем отличие вызова на С и Delphi? Куда копать?
  • atruhin © (18.09.17 09:26) [1]
    Пропустил vtt := varInteger;
 
Конференция "Основная" » Ошибка при обращении к COM серверу
Есть новые Нет новых   [118626   +13][b:0][p:0.001]