Free Pascal - Problem z modulem

0

Hej,
mam do napisania pewien program z modułem, no i niby wszystko pięknie, bo moduł się kompiluje bez żadnych błędów, jednak podczas próby wywoływania funkcji modułowej z programu pojawia się problem, siedzę nad nim od wczoraj i nie mam już pomysłów jak to ugryźć =/
Konkretniej to wyświetla coś takiego :

Error: Incompatible type for arg no.2: Got "TEST_MODULU.wektor", expected "MODUL.wektor"
zarówno w module jak i programie mam zdefiniowany rekord :

type wektor=record
       wymiar : 1..10;
       wspolrzedna : array[1..10] of Real;

przykładowo w module mam procedure :

procedure dodawanie (a,b : wektor);

i gdy wywołuję tą funkcję w programie w ten sposób :

dodawanie(a,b);

wywala mi wyżej opisany błąd. (dokladniej to w miejscu przecinka)
Wszystkie zmienne zdeklarowane są poprawne.

Byłbym wdzięczny za chociaż jakąś podpowiedź =/

0

Masz dwie różne deklaracje typu wektor, stąd wyświetla Ci błąd.

0

Aby się upewnić zrobiłem kopiuj/wklej owej deklaracji i problem nie zniknął.

0

Nie chodzi o to że deklaracje nie są identyczne, chodzi o to że znajdują się w różnych miejscach.
Muszą być w jednym.

0

mógłbyś rozwinąć troszeczkę? bo nie bardzo rozumiem

0

Dla kompilatora nie ma znaczenia, że te deklaracje wyglądają identycznie.
Liczy się to, że są to dwa rekordy zadeklarowane w osobnych modułach.
Aby pozbyć się błędu, musisz mieć jedną.

0

Ahaa ;D no czaje i teraz już wszystko działa ;)
Wielkie dzięki chłopaki :D

0

A po co masz w dwóch modułach zadeklarowany dokładnie ten sam typ..?

Jeżeli zarówno jeden, jak i drugi moduł korzysta z takiego samego typu, to wypadałoby zadeklarować go raz i udostępnić innym modułom (zasada DRY); No chyba, że moduły nie korzystają wzajemnie ze swoich dobrodziejstw...

0

Powiedzmy ,że ja dopiero uczę się modułów i tutaj chyba po prostu nie zastanowiłem się głębiej nad tym tylko wklepałem i tyle =/

1 użytkowników online, w tym zalogowanych: 0, gości: 1