Слегка изменю суть вопроса: прога шифрует текст, перед шифрованием в глобальный массив помещает текс из Мемо1, после шифрования помещает результат(зашифрованный массив) в Мемо2. В итоге у меня остается ненужный массив, однако программа работает и ошибок нету.
Но когда я пытаюсь сделать следущую операцию(например, зашифровать полученный шифр), и по-новой выполняю эту операцию, то как только программа доходит(при трассировке) до строки "SetLength(Massiv, 0);" мне выпадает окно об ошибке и процедура заканчивается ничего несделав. при этом нажав на кнопку ок в окне ошибки и еще раз попытавшись зашифровать текст все работает... вообщем работает через-раз...
Сама процедура выглядит примерно так:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ...
<b> var </b> MainFrm: TMainFrm;
Massiv: <b> array of string </b>;
...
<b> procedure </b> Crypt(<b> var </b> Sender: TObject);
...
<font color="Red">SetLength(Massiv, 0 );</font>
<b> For </b> i1 := 0 <b> to </b> Memo1 . Lines . Count- 1 <b> do </b>
<b> begin </b>
SetLength(Massiv, length(Massiv)+ 1 );
Massiv[i1] := Memo1 . Lines . Strings[i1];
<b> end </b>;
...
...
<b> end </b>;
|