Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вызов функции, Types of actual and formal var parameter 
V
    Опции темы
golfV
Дата 8.12.2009, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 4.11.2007

Репутация: нет
Всего: 1



Всем привет, столкнулся с такой проблемной, есть процедура
Код

procedure pUutResult(var iTagX: integer;iPrSN: PChar;
                var oPrTID,oPrdID,oStpNr,oTstID,oUutID:integer;iTest: PChar;
                iLimVerID: integer;
                iStationID, iFixtureID,iUserID,iStartDateTime: PChar;
                iPreTime,iExecTime,iPostTime :double;
                iUutStatus:PChar;
                iUutErrCode:integer;
                iUutErrMsg,iSFPath,iBathSN:PChar;
                iTstSocketID:integer);

я пытаюсь ее вызвать
Код

StationID:                string;
      iTest:                 string;
      iPrSn:                 string;
      iuutStatus:         string;
      iStartDateTime:  string;
      PostTime:           string;
      OName:              string;
      iExecTime:          string;
      ITagx:                 Integer;
     
pUutResult(iTagX,PChar(iPrSn),0,PrdID,0,0,0,PChar(iTest),0,'0','0','0','0',StrToFloat(iStartDateTime),StrToFloat(iExecTime),StrToFloat(PostTime),PChar(iuutStatus),0,'','','',0);


вроде все переменные правельного типа а он все равно ругается на PrdID и ввыдает такую ошибку при компиляции

'Types of actual and formal var parameters must be identical'
Может кто подскажет в чем дело? 
заранее спасибо!

Это сообщение отредактировал(а) golfV - 8.12.2009, 11:51
PM MAIL   Вверх
Демо
Дата 8.12.2009, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



В коде не видно, как у тебя PrdID определена.


--------------------
    
PM MAIL ICQ Skype   Вверх
golfV
Дата 8.12.2009, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 4.11.2007

Репутация: нет
Всего: 1



PrdID := 0;


PM MAIL   Вверх
Демо
Дата 8.12.2009, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



PS.
Так у тебя нужно передавать в виде переменных все параметры, которые определены как var:
Код

var iTagX: integer
var oPrTID,oPrdID,oStpNr,oTstID,oUutID:integer


Добавлено через 24 секунды
Цитата(golfV @  8.12.2009,  11:54 Найти цитируемый пост)
PrdID := 0;


Это значение, а тип переменной какой?


--------------------
    
PM MAIL ICQ Skype   Вверх
golfV
Дата 8.12.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 4.11.2007

Репутация: нет
Всего: 1




Код

PrdID: Integer;


переменная определена как integer

PM MAIL   Вверх
Демо
Дата 8.12.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



golfV, 

вот эти параметры нельзя передавать константами -

Код

var iTagX: integer
var oPrTID,oPrdID,oStpNr,oTstID,oUutID:integer



Каждую передавай переменной.

Это сообщение отредактировал(а) Демо - 8.12.2009, 12:00


--------------------
    
PM MAIL ICQ Skype   Вверх
golfV
Дата 8.12.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 4.11.2007

Репутация: нет
Всего: 1



пробовал неопределять переменную а просто поставить 0, тоже самое. Никак немогу разобраться в чем причина

Добавлено через 32 секунды
ок, спасибо щас попробую
PM MAIL   Вверх
Демо
Дата 8.12.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Сделай вызов с переносом строк. Каждый параметр на отдельной строке.
Колмпилятор после ошибки будет устанавливать курсор на ошибочном параметре.

Вот таким образом:
Код

pUutResult(
  iTagX,
  PChar(iPrSn),
  0,
  PrdID,
  0,
  0,
  0,
  PChar(iTest),
  0,
  '0',
  '0',
  '0',
  '0',
  StrToFloat(iStartDateTime),
  StrToFloat(iExecTime),
  StrToFloat(PostTime),
  PChar(iuutStatus),
  0,
  '',
  '',
  '',
0);



--------------------
    
PM MAIL ICQ Skype   Вверх
golfV
Дата 8.12.2009, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 4.11.2007

Репутация: нет
Всего: 1



все работает, большое спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1161 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.