1
Generale / Errore di Classe su Matrice di una sola riga
« Ultimo post da petrusic il Oggi alle 04:58:09 pm »Casualmente, è capitato che nella formazione di una matrice dinamica sia stata creata una matrice di una sola riga.
Ebbene, nel trasferire le singole celle nella prima riga di detta matrice, già al momento di impegnare la prima cella della prima ed unica riga, viene fornito il seguente Errore
Ecco anche le istruzioni eseguite fino a quella che scatena l'ERRORE:
Riporto anche il contenuto della console al riguardo:
Che non siano gestite condizioni di matrici dinamiche con una sola riga? Mi pare logicamente impossibile.
Ebbene, nel trasferire le singole celle nella prima riga di detta matrice, già al momento di impegnare la prima cella della prima ed unica riga, viene fornito il seguente Errore
Citazione
Il progetto DomusRatio ha sollevato una eccezione di classe 'External: SIGSEGV'.dentro la procedura di controllo
All'indirizzo 42A23E
Codice: [Seleziona]
procedure TWinControl.KeyDownBeforeInterface(var Key: Word; Shift: TShiftState);
begin
KeyDown(Key, Shift);
end;
Ecco anche le istruzioni eseguite fino a quella che scatena l'ERRORE:
Codice: [Seleziona]
if (Length(striAmmortamenti) > 0) then
begin
tabSplit:= striAmmortamenti.Split(chr(13));
WriteLn('Length(tabSplit)= ' + inttostr(Length(tabSplit)));
SetLength(tbAmmortamenti, Length(tabSplit));
for i:= 0 to (Length(tabSplit) - 1) do
begin
WriteLn('tabSplit[' + inttostr(i) + ']= ~' + tabSplit[i] + '~');
WriteLn('---');
tbEl:= tabSplit[i].Split(Chr(9));
WriteLn('Length(tbEl)= ' + inttostr(Length(tbEl)));
for j:= 0 to 4 do
begin
WriteLn('tbEl[' + inttostr(j) + ']= ~' + tbEl[j] + '~');
end;
k:= i; // Non sarebbe necessaria, ma l'ho agggiunta per togliere ogni mio dubbio
for j:= 0 to 4 do
begin
WriteLn('k= ' + inttostr(i));
WriteLn('j= ' + inttostr(j));
tbAmmortamenti[k, j]:= tbEl[j]; // <-- alla prima esecuzione
WriteLn('tbAmmortamenti[' + inttostr(k) + inttostr(j) + ']= ~' + tbAmmortamenti[k, j] + '~');
end;
end;
end;
Riporto anche il contenuto della console al riguardo:
Citazione
Length(tabSplit)= 1Manca l'ultima "WriteLn" a causa dell'Errore determinato dall'istruzione che la precede nella sequenza.
tabSplit[0]= ~110050180 101710180 tenaglia -4,3 20030103~
---
Length(tbEl)= 5
tbEl[0]= ~110050180~
tbEl[1]= ~101710180~
tbEl[2]= ~tenaglia~
tbEl[3]= ~-4,3~
tbEl[4]= ~20030103~
k= 0
j= 0
Che non siano gestite condizioni di matrici dinamiche con una sola riga? Mi pare logicamente impossibile.