Sehr hoch und wohl geschätzter Serenifly,
jetzt hast du mich völlig aus der Spur gebracht, bzw. ich glaube du hast meinen Willen nach der Dynamik noch nicht verstanden ?!
Nachdem ich mir mal eben schnell ne Palette Bier reingebiemt habe, hab ich in Delphi (Version 7 - Enterprise, für WinDoof) ebensso mal eben schnell einen 3 bis 5 Zeiler gebastelt.
Der funktioniert tadellos ohne meine Maschine in Blue-Srenn-Verzückung zu versetzen.
Das ganze geht in kürze etwa so:
type // Typ-Definition
TCMD_Rec = record // das entspräche einem C-Struct
Dir : integer;
Steps : integer;
Speed : integer;
end;
TCMD_Sequence = array of TCMD_Rec; // Was macht C daraus pder geht so was überhaupt ?
.....
var // Variablen-Definition
CMD_Sequence : TCMD_Sequence;
.....
// im weiteren Programmablauf funktioniert alles folgende tadellos:
.....
if CMD_Sequence <> NIL then FreeMem(CMD_Sequence); // Speicher freigeben, sofern allokiert
GetMem(CMD_Sequence, NumSeq x sizeof(TCMD_Rec)); // Neuen Speicher allokieren
if CMD_Sequence = NIL then // Hat geklappt ?
...... // JA !
else
...... // leider nein
// Falls JA, dann formatier doch glech mal:
for i := 1 to NumSeq do // hier taucht wieder "NumSeq" als Zahl auf
begin // Ja ! Ab 1 zählen ! Wenn Zähler = 0 dann startet die schleife erst gar nicht.
CMD_Sequence[i - 1].Dir := -1;
CMD_Sequence[i - 1].Steps := -1;
CMD_Sequence[i - 1].Speed := -1;
end;
Du / Ihr scheint es ja zu wissen, wie das in C geht !
Spannt mich nicht noch weiter auf die Folter und gebt mit bitte (endlich) mal ein paar C-adäquate Zeilen, die das gleiche "verursachen" ....... B I T T E !