Bisserl unübersichtlich, findest du nicht?
Ich würde es so probieren:
Delphi-Quellcode:
type
TDataArray = Array Of String;
TSI_Daten = packed record
MD36998 : TDataArray;
MD36999 : TDataArray;
MD1399 : String;
end;
{...}
var
SI_Achs_Array : array of TSI_Daten;
{...}
Procedure AddValueToArray (Var aArray : TDataArray; aIndex : Integer; aValue : String);
Begin
If aIndex >= High(aArray) Then
SetLength (aArray, aIndex + 1);
aArray[aIndex] := aValue;
End;
{...}
Var
iAchse : Integer;
{...}
iAchse := Pred (i_Ax_drv_Nr);
If iAchse >= High(SI_Achs_Array) Then
SetLength (SI_Achs_Array, iAchse + 1);
If i_Pos_MD36998 = 1 then
AddValueToArray (SI_Achs_Array[iAchse].MD36998, i_Index, S_Wert);
If i_Pos_MD36999 = 1 then
AddValueToArray (SI_Achs_Array[iAchse].MD36999, i_Index, S_Wert);
Tipp: Aktiviere auch mal (bevor zu was änderst) in den Projektoptionen die Index-Prüfung.
Ist doch bei dynammischen Arrays sinnlos, oder?
Das Bild hängt schief.