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

Тема: Функции

  1. #1

    По умолчанию Функции

    Проблемма в следующем.
    В своей программе я использую функции, выход этой функции структура(ее ввел потому что нужно что бы функция выдавала больше чем одно значение).
    далее по программе я обращаюсь непосредственно к выходам функции, а не присваеваю выход функции переменной.
    (например : _ImpVar_135_78.Holod ). У меня данная функция используется около 15 раз за программу. выходы этой функции я использую как входы в другой функциональный блок. и вот на 6-8 применении функции мне выдает ошибку (указывает на блок в котором я использую входы функции , блок UPR_vent), что типы несовместимы. хотя все они типа BOOL. Для ясности посмотрите картинку. На ней показана и ошибка.
    Изображения Изображения

  2. #2

    По умолчанию

    Цитата Сообщение от mettled Посмотреть сообщение
    Проблемма в следующем.
    В своей программе я использую функции, выход этой функции структура(ее ввел потому что нужно что бы функция выдавала больше чем одно значение).
    далее по программе я обращаюсь непосредственно к выходам функции, а не присваеваю выход функции переменной.
    (например : _ImpVar_135_78.Holod ). У меня данная функция используется около 15 раз за программу. выходы этой функции я использую как входы в другой функциональный блок. и вот на 6-8 применении функции мне выдает ошибку (указывает на блок в котором я использую входы функции , блок UPR_vent), что типы несовместимы. хотя все они типа BOOL. Для ясности посмотрите картинку. На ней показана и ошибка.
    К сожалению, картинка никакой ясности не дает. Лучше проект.

  3. #3

    По умолчанию

    Это странно. Так работать вообще не должно. По определению функция не имеет внутренней память. Возврат значения обычно идет через регистры процессора либо через некую временную память. В любом случае данная память после возврата из функции может быть занята под нечто другое. Надо либо копировать возврат в другую структуру, либо переделать эту функцию в программу.

  4. #4

    По умолчанию

    работает все номрально. самое интересно что у меня в программе 15 таких функций используется, а запоролось когда я ее использую 5, 6, 7.
    Ошибка исчезла когда выходам функций прислоил переменные, и использовать начал их.
    Еще вопрос : _ImpVar_106_3 - что это такое и как это формируется ?
    А то использую вслепую(посмотрел что работает и использую :-) ), нигде об этом ничего не написано.

    Kirill - емэйл оставьте, счас сброшу проект.
    Последний раз редактировалось mettled; 12.02.2008 в 16:11.

  5. #5

    По умолчанию

    Цитата Сообщение от mettled Посмотреть сообщение

    Kirill - емэйл оставьте, счас сброшу проект.
    kirill собак owen.ru

Ваши права

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