Показать сообщение отдельно
  #53  
Старый 31.08.2012, 12:23
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию

Цитата:
Сообщение от poli-smen
Правильно, здесь. Только в этом месте WavInfo это никакая не глобальная переменная, а формальный параметр процедуры ReadWavInfo:
Код:
procedure ReadWavInfo(const FileName: string; var WavInfo: TWavInfo);
А фактически, здесь будет участвовать переменная, которую сюда подставит тот, кто вызовет процедуру ReadWavInfo, а вызов этой процедуры происходит здесь:
Код:
procedure  TForm1.Button1Click(Sender: TObject);
...
begin
...
      ReadWavInfo(OpenDialog1.FileName, FWavInfo);
...
end;
Итого получается следующее:
Button1Click - читает wav-файл и записывает информацию о нём в переменную FWavInfo.
Button4Click - пытается прочитать переменную WavInfo чтобы записать её содержимое в файл, но у Button4Click конечно же ничего не получается, так как в переменную WavInfo данные никто не заносил.
Дааа, это прискорбно.. Из-за одной буквы все меняется. Только когда я делаю так
Код:
procedure  TForm1.Button1Click(Sender: TObject);
...
begin
...
      ReadWavInfo(OpenDialog1.FileName, WavInfo);
...
end;
То естественно график не рисуется. А разве переменные FWavInfo и WavInfo не должны связываться здесь?:
Код:
FWavInfo: TWavInfo;
Ответить с цитированием