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

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

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

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

Сообщение ninik » 28.01.2008 14:55:19

Подскажите, пожалуйста, что мне сделать, а то я в 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 я вызываю функции, которые мне должны возвращать описанные в типах массивы.

Если кто-нибудь знает, как мне можно избежать этого несогласования - напишите пожалуйста. возможно есть способ создать типы в одном юните и не создавать повторно во втором или ещё что-нибудь. Заранее спасибо.
ninik
незнакомец
 
Сообщения: 5
Зарегистрирован: 28.01.2008 13:35:39
Откуда: Минск

Сообщение zub » 28.01.2008 15:17:46

Так не делается, определи свои типы в отдельном модуле и впиши его в секции interface в uses твоих модулей. тип должен определятся один раз!
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Сообщение ninik » 28.01.2008 15:41:32

спасибо большое!!!! а то я никогда так вообще не делала, поэтому даже не знала, где посмотреть можно. Сейчас попробую.
ninik
незнакомец
 
Сообщения: 5
Зарегистрирован: 28.01.2008 13:35:39
Откуда: Минск


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru