Het is een beetj vreemd topictitel, maar wist het even niet beter te omschrijven.
Ik heb het volgende probleem. Mijn code zit ongeveer zo in elkaar:
Ik heb dus een globale variabele FamilieArray. Daarmee werk ik in de procedure btnStartClick. In die procedure roep ik een andere procedure aan, OnderlingVergelijken, en die geef ik die globale variabele FamilieArray mee. Lokaal in OnderlingVergelijken heet die variabele FA.
Het probleem is nu dat FA en FamilieArray bij alles simultaan wijzigen in de watchwindow en in het echt dus, beahlve die laatste SetLength. Nu zal ik het wel weer helemaal fout hebben aangepakt, maar dan nog vind ik het vreemd dat hij alle variabelen wel simultaan veranderd en de lengtes binnen de array ook, maar de "hoofd"lengte dus niet.
Wat doe ik daar fout???
Ik heb het volgende probleem. Mijn code zit ongeveer zo in elkaar:
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| type TFamilieArray= Array of Array of String; procedure OnderlingVergelijken(VMA:TVergelijkMatrixArray; FA: TFamilieArray); ... var FamilieArray: TFamilieArray; ... procedure TForm1.btnStartClick(Sender: TObject); ... SetLength(FamilieArray,1,1); ... if cbOnderlingVergelijken.Enabled then OnderlingVergelijken(VergelijkMatrixArray, FamilieArray); ... procedure TForm1.OnderlingVergelijken(VMA:TVergelijkMatrixArray; FA:TFamilieArray); ... Setlength(FA[i],high(FA[i+1])+1); //Werkt wel FamilieArray veranderd SetLength(FA, high(FA)); //Werkt niet FamilieArray veranderd niet van lengte |
Ik heb dus een globale variabele FamilieArray. Daarmee werk ik in de procedure btnStartClick. In die procedure roep ik een andere procedure aan, OnderlingVergelijken, en die geef ik die globale variabele FamilieArray mee. Lokaal in OnderlingVergelijken heet die variabele FA.
Het probleem is nu dat FA en FamilieArray bij alles simultaan wijzigen in de watchwindow en in het echt dus, beahlve die laatste SetLength. Nu zal ik het wel weer helemaal fout hebben aangepakt, maar dan nog vind ik het vreemd dat hij alle variabelen wel simultaan veranderd en de lengtes binnen de array ook, maar de "hoofd"lengte dus niet.
Wat doe ik daar fout???