Доброе утро. Пожалуйста, посмотрите кусок кода, который не совсем корректно работает:
В Unit1 :
Код:
procedure TForm1.Makro(Var U8, U5, MU8, MU5, O1, MO1, MU : TMasMin);
var f: File of TElementi;
U8w, U5w, O1w : TElementi;
i, j: integer;
begin
..................
Form3.ComboBox4.Clear;
Form3.ComboBox4.Items.Add('U238');
Form3.ComboBox4.Items.Add('U235');
Form3.ComboBox4.Items.Add('U');
if Form3.RadioButton1.Checked = True then
Form3.ComboBox4Change(Form3.ComboBox4 , 0, MU5, MU8, MO1, MU);
end;
........
end;
В Unit3 :
Код:
procedure TForm3.ComboBox4Change(Sender: TObject; k: integer; var MU5w, MU8w, MO1w, MUw: TMasMin);
var
i, j : integer;
begin
if k = 0 then
begin
case Form3.ComboBox4.ItemIndex of
0: VivodMakr(MU8w);
1: VivodMakr(MU5w);
2: begin
for i:=1 to 4 do
for j:=1 to 4 do
MUw[i, j]:=MU5w[i, j]+MU8w[i, j];
VivodMakr(MUw);
end;
end;
end;
end;
Процедура VivodMakr должна должна выводить предложенный ей массив TMasMin: array[1..4, 1..4] of real в таблицу StringGrid. И, собственно, без процедуры
Код:
procedure TForm3.ComboBox4Change(Sender: TObject; k: integer; var MU5w, MU8w, MO1w, MUw: TMasMin);
все работает прекрасно.Все ли я правильно сделал при её описании, потому что при запуске таблица пустует, ей не передается индекс и она просто не делает вычислений. И почему в процедуре
Код:
procedure TForm3.ComboBox4Change(Sender: TObject; k: integer; var MU5w, MU8w, MO1w, MUw: TMasMin);
end-ов больше, чем begin-ов , хотя, если один убрать -- ругается.