Просмотр полной версии : Работа с МДВВ
Алексей_К
18.03.2008, 13:08
Здравствуйте! Написал запрос чтения оперативного параметра с МДВВ в 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 Заранее спасибо за ответ.
Алексей_К
18.03.2008, 15:55
С типами вроде разобрался, но обращение всеравно не работает...
Вот Функция обращения, порт №3, помогите пожалуйста, что не так? Перепробовал много всего... Выдает : "Ошибка данных!", значит не проходит само обращение к параметру, может дело в библиотеке? Если не сложно, еще раз просьба выслать пример работы с прибором МДВВ на Delphi на почту: kashlev_alex@rambler.ru
function ExitDan(adres:DWORD):string;
var
res:integer;
value:DWORD;
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;
Дмитрий Егоренков
19.03.2008, 11:59
> ReadUInt(0,adres,'r.Cou',value,-1);
есть у меня подозрение, что вы первый и второй параметр перепутали.
а в следующий раз пишите, какую конкретно ошибку возвратила функция.
Алексей_К
19.03.2008, 12:26
Параметры не перепутал, 100%:
TProcReadUInt=function (adr_type,adr:DWORD;command:pchar;var value:DWORD;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:50
это ошибка в примере. если вы посмотрите другие функции, они описаны правильно - сначала адрес, потом тип адреса.
библиотеке абсолютно все равно, с каким прибором работать.
Алексей_К
19.03.2008, 13:52
Разобрался, не без вашей помощи:
1) вы правы с параметром;
2) не было настроено констант под скорость.
С помощью кодов ошибок, выявил и устранил их.
Спасибо за помощь!
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot