Показано с 1 по 6 из 6

Тема: Работа с МДВВ

  1. #1

    По умолчанию Работа с МДВВ

    Здравствуйте! Написал запрос чтения оперативного параметра с МДВВ в Delphi, ипользуя вашу библиотеку: res:=ReadUInt(0,adres,'r.Cou',value,-1);, при компилировании выдается ошибка о неправильном ипользовании формальных и фактических параметров: [Error] UFunc.pas(217): Types of actual and formal var parameters must be identical, перепробовал много чего... Ен подскажете в чем дело? Если не сложно, то вышлите мне пример работы с МДВВ на Delphi на почту: kashlev_alex@rambler.ru Заранее спасибо за ответ.

  2. #2

    По умолчанию

    С типами вроде разобрался, но обращение всеравно не работает...
    Вот Функция обращения, порт №3, помогите пожалуйста, что не так? Перепробовал много всего... Выдает : "Ошибка данных!", значит не проходит само обращение к параметру, может дело в библиотеке? Если не сложно, еще раз просьба выслать пример работы с прибором МДВВ на Delphi на почту: kashlev_alex@rambler.ru

    function ExitDan(adresWORD):string;
    var
    res:integer;
    valueWORD;
    display:string;
    begin
    if(not InitLib) then
    display:='Ошибка загрузки библиотеки';
    if(OpenPort(2,9600,0,1,0,1)<0) then
    display:='Ошибка открытия порта';

    //Opros
    res:=ReadUInt(0,adres,'r.Cou',value,-1);

    if(res>=0) then
    begin
    display:=IntToStr(value);
    end
    else begin
    display:='Ошибка чтения!';
    end;

    result:=display;
    ClosePort;
    FreeLib;
    end;

  3. #3

    По умолчанию

    > ReadUInt(0,adres,'r.Cou',value,-1);

    есть у меня подозрение, что вы первый и второй параметр перепутали.

    а в следующий раз пишите, какую конкретно ошибку возвратила функция.

  4. #4

    По умолчанию

    Параметры не перепутал, 100%:

    TProcReadUInt=function (adr_type,adrWORD;commandchar;var valueWORD;index:integer):integer;stdcall;

    А если обходить условие проверки:

    if(res>=0) then
    begin
    display:=IntToStr(value);
    end
    else begin
    display:='Ошибка чтения!';
    end;

    А просто выводить этот параметр: display:=IntToStr(value);
    , то возвращается число 258

    У меня всетаки есть подозрения, что дело в библиотеке, она приспособлена для работы с МДВВ? т.к. последнее обновление ее было в 2006 г., а тогда такого прибора, насколько я знаю не продавалось.

    Нет ли всетаки примера работы на Delphi с МДВВ?
    А функция возвращает ошибку: -2.
    Последний раз редактировалось Алексей_К; 19.03.2008 в 13:29.

  5. #5

    По умолчанию

    это ошибка в примере. если вы посмотрите другие функции, они описаны правильно - сначала адрес, потом тип адреса.

    библиотеке абсолютно все равно, с каким прибором работать.

  6. #6

    По умолчанию

    Разобрался, не без вашей помощи:
    1) вы правы с параметром;
    2) не было настроено констант под скорость.

    С помощью кодов ошибок, выявил и устранил их.

    Спасибо за помощь!

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •