Как согласовать создынные мною типы в Delphi в двух юнита

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
ninik
незнакомец
Сообщения: 5
Зарегистрирован: 28.01.2008 12:35:39
Откуда: Минск

Как согласовать создынные мною типы в Delphi в двух юнита

Сообщение ninik »

Подскажите, пожалуйста, что мне сделать, а то я в Delphi никак не привыкну ко всем заморочкам .
Я в одном юните создала типы

Код: Выделить всё

unit MainUnit;

interface
uses ... 

type RealValues = array[1..8] of real;
type IntValues = array[1..8] of integer;
type WindArray = array[1..2] of integer;
type DayNight = array[1..2] of real;
...
implementation
uses SutkiCalc;...

procedure TForm1.Button1Click(Sender: TObject);
var
    tMin, tMax : real;
    ww, wwAdd, w1w2, tt, wind, dir, vel, vel2, obl : IntValues;
    t, td : RealValues;
    data, flag : DayNight;
    i, wMax, wAv: integer;
....

Form2.SutkiCalculation(tMin, tMax, t, td, ww, wwAdd, w1w2, tt, data, flag, obl, dir, vel);


и передаю переменные этих типов в функцию , которая находится в другом юните этого же приложения, гда созданы такие же типы

Код: Выделить всё

unit SutkiCalc;

interface
uses...

type RealValues = array[1..8] of real;
type IntValues = array[1..8] of integer;
type WeatherArray = array[1..12] of integer;
type WindArray = array[1..2] of integer;
type DayNight = array[1..2] of real;
...
implementation
uses MainUnit;...

procedure TForm2.SutkiCalculation(tMin, tMax : real; t, td : RealValues;  ww, wwAdd, w1w2, tt : IntValues; data, flag : DayNight; obl, dir, vel : IntValues);


При этом оно мне говорит про каждый из созданных типов

[Error] MainUnit.pas(59): Incompatible types: 'SutkiCalc.RealValues' and 'MainUnit.RealValues'

Я не могу не создать эти типы, потому что в процедуре SutkiCalculation я вызываю функции, которые мне должны возвращать описанные в типах массивы.

Если кто-нибудь знает, как мне можно избежать этого несогласования - напишите пожалуйста. возможно есть способ создать типы в одном юните и не создавать повторно во втором или ещё что-нибудь. Заранее спасибо.
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

Так не делается, определи свои типы в отдельном модуле и впиши его в секции interface в uses твоих модулей. тип должен определятся один раз!
ninik
незнакомец
Сообщения: 5
Зарегистрирован: 28.01.2008 12:35:39
Откуда: Минск

Сообщение ninik »

спасибо большое!!!! а то я никогда так вообще не делала, поэтому даже не знала, где посмотреть можно. Сейчас попробую.
Ответить