Zitat von
BenjaminH:
Vielleicht hast du die Variable Faktoren irgendwo anders schon deklariert?
Nein, hab das ganze in einem extra Programm ohne irgendwas anderes getestet, selber Fehler!
Zitat von
Binärbaum:
Das Problem ist, dass die Variable i zu diesem Zeitpunkt noch keinen Wert zugewiesen bekommen hat, sie ist also faktisch undefiniert. Da steht höchstens irgendein Wert drin, der vorher an dieser Stelle im Speicher stand. Und das kann auch ein negativer Wert sein, und deswegen wird der Compiler sich wohl beschweren.
Hab mich vertippt, hab's oben geändert, statt i sollte da 0 stehen!
Zitat von
Sir Thornberry:
du kannst das ganze so lösen:
Delphi-Quellcode:
type
TDynArr = Array of Integer;
[...]
procedure TForm1.Primfaktoren(Zahl:integer;var Faktoren: TDynArr);
begin
[...]
dann kommt die meldung nicht mehr...
Ja jetzt klappt es
Aber das ganze macht ja jetzt nichts anderes, als ich geschrieben habe, sondern schiebt dazwischen nur 'ne Type-Deklaration, sodass nicht ein Array verändert wird, sondern ein selbstdefinierter Type, der ja aber letztendlich nur ein Array ist....
Warum ging meine Version denn nicht???