Autor Beitrag
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 19.01.04 19:28 
Ich habe ein Prozedur, der ich ein Array übergebe, welches im Laufe der Prozedur verändert wird, und dann ausserhalb der Prozedur die geänderten Werte enthält. Das nennt sich wohl Übergabe per Referenz oder so. Im Quelltext sieht das so aus:

ausblenden Delphi-Quelltext
1:
procedure MeineTolleProzedur(Var MeinTollesDynamischesArray: Array of Integer);					

Jetzt kann es sein, dass ich die Größe des Arrays verändern muss, da diese beim Aufruf der Prozedur nicht feststeht. Das geht normalerweise mit
ausblenden Delphi-Quelltext
1:
setlength(MeinTollesDynamischesArray,10);  // oder halt nen anderen integer-wert					

Aber der Aufruf erzeugt den CompilerFehler "Incompatible types". Wie geht das richtig? Ich steh da mal wieder aufm Schlauch...

_________________
We are, we were and will not be.
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 19.01.04 19:48 
So gehts:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
type
 TMeinTollesDynamischesArray = array of integer;

procedure MeineTolleProzedur(Var MeinTollesDynamischesArray: TMeinTollesDynamischesArray);
begin
 SetLength(MeinTollesDynamischesArray, 10);
end;
Gausi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 19.01.04 20:47 
Danke. Klappt.

_________________
We are, we were and will not be.