Even een korte schets:
Ik moet een bepaalde initiële volgorde van records bijhouden.
Vervolgens worden wat bewerkingen die records toegepast waardoor de initiële volgorde kan veranderen. De originele volgorde van de records moet daarom
getoetst worden aan de nieuwe.
Om de volgorde bij te houden heb ik de volgende procedure, waarbij ik vóór de bewerkingen een globale var (Array of integer) meegeef, en ernà een andere.
Bij het compileren krijg ik de melding "Incompatible Types" op de SetLength-regel.
Call by value/reference maakt geen verschil, hoewel ik geen compileerfout krijg als ik de in de Setlength regel rechtstreeks de te wijzigen Array meegeef (die globale var dus).
Ik heb het al anders opgelost, dus eventuele andere oplossingen zijn niet nodig...
Ben gewoon benieuwd wat de reden van deze foutmelding is...
Ik moet een bepaalde initiële volgorde van records bijhouden.
Vervolgens worden wat bewerkingen die records toegepast waardoor de initiële volgorde kan veranderen. De originele volgorde van de records moet daarom
getoetst worden aan de nieuwe.
Om de volgorde bij te houden heb ik de volgende procedure, waarbij ik vóór de bewerkingen een globale var (Array of integer) meegeef, en ernà een andere.
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| //------------------------------------------------------------------------------------ procedure TForm1.VulOrdreDepots(OrdreDepots: Array of integer); //------------------------------------------------------------------------------------ var QryHulp: TADOQuery; Ind: Integer; begin Ind := 0; QryHulp := TADOQuery.Create(Application); with QryHulp do begin Connection := dmFixed_files.adocon_spo_vente; SQL.Text := 'SELECT ORDER'; //Knip -->layout Open; if not eof then begin First; SetLength(OrdreDepots,RecordCount); //Hier fout: Incompatible Types While not eof do begin OrdreDepots[ind] := FieldByName('RE_DEORDRE').Value; inc(ind); Next; end; end else exit; //Fout opvangen "Geen data" end; end; |
Bij het compileren krijg ik de melding "Incompatible Types" op de SetLength-regel.
Call by value/reference maakt geen verschil, hoewel ik geen compileerfout krijg als ik de in de Setlength regel rechtstreeks de te wijzigen Array meegeef (die globale var dus).
Ik heb het al anders opgelost, dus eventuele andere oplossingen zijn niet nodig...
Ben gewoon benieuwd wat de reden van deze foutmelding is...