Nie mogę zwiększyć rozmiaru tablicy przekazanej przez ref

0

Cześć, szewskiej pasji już dostaje. Spróbujcie skompilować coś takiego:

procedure mprocka(var tab: array of TMojTyp);
begin
  setLength(tab, 5);
end;

Wyskoczy błąd: Incompatible types. Nieważne, czy przekazanie przez referencje, czy nie. Czemu tak się dzieje i co zrobić, żeby zwiększało tą wielkość w procedurze?

Bo jak na razie mam odwołanie typu:

 setLength(tab, 5);
 mprocka(tab);

A chcę mieć po prostu

  mprocka(tab);
0

Juhas Ty? Forumowicz od 2 lat? I takie problemy z wyszukiwarką?
http://4programmers.net/Forum/103754?h=dynamiczna%20otwarta#103754

0
pq napisał(a)

Juhas Ty? Forumowicz od 2 lat? I takie problemy z wyszukiwarką?

Zmęczony byłem i wnerwiony [wstyd]

Anyway niestety nie mogę użyć tego rozwiązania, bo musiałbym zmieniać 3/4 projektu :/ Czy nie można zrobić tego jakoś inaczej? Jakimś rzutowaniem np?

[dopisane]
OK, napisałem sobie prockę typu: copyArray i działa(przynajmniej się kompiluje), posługuje się tablicą pomocniczą. Normalnie bym tak nie robił, ale korzystając z tego, że te tablice są bardzo małe, w związku z tym mogę :)

0

Ostatecznie jeśli ta tablica jest zmienną globalną nie musisz jej przekazywać w parametrze.. po prostu zwiększ rozmiar w procedurze bez parametru..

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