Ein freundliches Hallo an alle,
ich verwende Delphi 4 umd möchte mir in einer dynamischen Liste hin und wieder einen Index merken. Dazu habe ich die Procedure AddIndex geschrieben.
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 
 | Procedure AddIndex( var A : array of Integer; I : Integer );
 begin
 SetLength( A, Length( A ) + 1 );
 A[ Length( A ) - 1 ] := I      ;
 end;
 
 | 
		
	  
Die Liste wird übergeben und soll um ein Element (I) erweitert werden. Der Kompiler meckert aber über SetLength.
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:
 | [Fehler] StrGrid.pas(276): Inkompatible Typen					 | 
		
	  
Laut Hilfe kann ich das Array übergeben!
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 
 | In einigen Funktions- und Prozedurdeklarationen werden Array-Parameter in der Form array of Basistyp ohne festgelegten Indextyp angegeben: 
 function CheckStrings(A: array of string): Boolean;
 
 In diesem Fall kann die Funktion auf alle Arrays des angegebenen Basistyps angewendet werden, unabhängig von der Größe der Arrays und der Art ihrer Indizierung
 | 
		
	  
Hat jemand eine Erklärung, warum das so ist? Muß die Procedure zu dem Objekt "StrGrid" gehören, also "T_StrGrid.AddIndex" heißen??
Grüße von der Nordsee
Peter