Перейти к содержимому

Фотография

Inc(Project.Variables.k)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Колючка

Колючка

    Активный участник

  • Members
  • PipPip
  • 105 сообщений

Отправлено 11 апреля 2012 - 08:16

k - persistent variable, integer.

В момент Inc(Project.Variables.k) выдаёт ошибку "Variable <Project> not defined"

Что же происходит на самом деле внутри функции Inc?
  • 0

#2 SergeyP

SergeyP

    Специалист

  • Members
  • PipPipPipPipPip
  • 651 сообщений
  • Город:Москва

Отправлено 11 апреля 2012 - 08:27

Измените на

Inc(Projects.Variables.k)
  • 0

#3 Rebz

Rebz

    Опытный участник

  • Members
  • PipPipPipPip
  • 471 сообщений


Отправлено 11 апреля 2012 - 09:01

Чтобы разорбаться, пришлось создать проект на делфискрипт, т.к. inc - чисто дельфевая функция).
  procedure test;
  var mda: OleObject;
  begin
    mda := Project.Variables.k;
    Inc(mda);
    Project.Variables.k := mda; 
  end;
Такой код у меня отработал.
Inc почему-то надо вставлять только переменные, определяемые в var, тесткомлпитовской переменной он не понимает.

А почему нельзя так:
Project.Variables.k := Project.Variables.k + 1; (+N)

  • 0

#4 Колючка

Колючка

    Активный участник

  • Members
  • PipPip
  • 105 сообщений

Отправлено 11 апреля 2012 - 10:02

Измените на

Inc(Projects.Variables.k)


Переменной Projects - не существует.
  • 0

#5 Колючка

Колючка

    Активный участник

  • Members
  • PipPip
  • 105 сообщений

Отправлено 11 апреля 2012 - 10:03

Чтобы разорбаться, пришлось создать проект на делфискрипт, т.к. inc - чисто дельфевая функция).

  procedure test;
  var mda: OleObject;
  begin
    mda := Project.Variables.k;
    Inc(mda);
    Project.Variables.k := mda; 
  end;
Такой код у меня отработал.
Inc почему-то надо вставлять только переменные, определяемые в var, тесткомлпитовской переменной он не понимает.

А почему нельзя так:
Project.Variables.k := Project.Variables.k + 1; (+N)


У меня тоже эти 2 варианта работают :) , но непонятно почему таки Inc не работает.
  • 0

#6 Rebz

Rebz

    Опытный участник

  • Members
  • PipPipPipPip
  • 471 сообщений


Отправлено 11 апреля 2012 - 10:17

У меня тоже эти 2 варианта работают :) , но непонятно почему таки Inc не работает.

Ошибка "Variable <Project> not defined" значит, что переменная не определена.
В своем тесте я определил переменную, все заработало.
в var нельзя запихнуть Project.Variables.k, поэтому и соответствующая ошибка - мое предположение.
  • 0

#7 Колючка

Колючка

    Активный участник

  • Members
  • PipPip
  • 105 сообщений

Отправлено 11 апреля 2012 - 11:46


У меня тоже эти 2 варианта работают :) , но непонятно почему таки Inc не работает.

Ошибка "Variable <Project> not defined" значит, что переменная не определена.
В своем тесте я определил переменную, все заработало.
в var нельзя запихнуть Project.Variables.k, поэтому и соответствующая ошибка - мое предположение.


КО мне тоже сказал: "в var нельзя запихнуть Project.Variables.k"

Но, подставляя в функцию Project.Variables.k я не передаю туда переменную Project, я передаю туда переменную k, которая имеет свой адрес и местоположение. Внутри функции Inc - не должно идти обращение к переменной Project.

Если бы найти исходники данной функции - можно было бы понять проблему.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных