Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2010, 21:46   #1
street-walker
Пользователь
 
Регистрация: 20.04.2009
Сообщений: 65
По умолчанию ошибка кода

Не могу найти ошибку,подскажите. При нажатии на ветвь дерева выдает ошибку 'invalid index'

Цитата:
procedure TForm2.Button1Click(Sender: TObject);
var N, M: TTreeNode;
K: integer;
S,P,H:string;
begin
S:=Edit1.Text;
P:=Edit2.Text;
H:=Edit3.Text;
form5.show;
N := TreeView1.Items.Add( TreeView1.Items.Item[0], S );
M := TreeView1.Items.AddChild( N, P );
K := ActionList.Add(H);
M.Data := pointer(K+1); // нельзя сохранять 0
Save;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
TreeView1.Items.Delete(TreeView1.Se lected);
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Save;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
ActionList := TStringList.Create;
WebBrowser1.Navigate(ExpandFileName ('C:\лекции\Введение.html'));
end;

procedure TForm2.FormDestroy(Sender: TObject);
begin
FreeAndNil( ActionList );
end;

procedure TForm2.FormShow(Sender: TObject);
var
F: TFileStream;
begin
if FileExists('c:\ActionList.txt') then
ActionList.LoadFromFile('c:\ActionL ist.txt');
F := TFileStream.Create('c:\TreeView.txt ', fmOpenRead or fmShareDenyWrite);
try
F.ReadComponent(TreeView1);
finally
F.Free;
end;
end;

procedure TForm2.Save;
var
F: TFileStream;
begin
F := TFileStream.Create('c:\TreeView.txt ', fmCreate or fmShareCompat);
try
F.WriteComponent(TreeView1);
finally
F.Free;
end;
ActionList.SaveToFile('c:\ActionLis t.txt');
end;

procedure TForm2.ToolButton1Click(Sender: TObject);
begin


treeview1.Visible:=false;
webbrowser1.Align:=alClient;
end;


procedure TForm2.ToolButton2Click(Sender: TObject);
begin
treeview1.Visible:=true;
webbrowser1.Align:=alClient;
end;

procedure TForm2.ToolButton4Click(Sender: TObject);
begin
Form13.Show;
end;

procedure TForm2.ToolButton5Click(Sender: TObject);
begin
form3.show;
end;

procedure TForm2.ToolButton6Click(Sender: TObject);
begin
Form12.Show;
end;

procedure TForm2.TreeView1Click(Sender: TObject);
var X: Integer;
begin
if TreeView1.Items[1].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\1.1.html'));
if TreeView1.Items[2].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\1.2.html'));

if TreeView1.Items[3].Selected then begin form4.show;
Form2.Enabled:=True;
WebBrowser1.Navigate(ExpandFileName ('C:\лекции\Введение.html'));
end;

if TreeView1.Items[5].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\2.1.html'));
if TreeView1.Items[6].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\2.2.html'));
if TreeView1.Items[7].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\2.3.html'));
if TreeView1.Items[8].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\2.4.html'));
if TreeView1.Items[9].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\2.5.html'));

if TreeView1.Items[10].Selected then begin form7.show;
Form2.Enabled:=True;
WebBrowser1.Navigate(ExpandFileName ('C:\лекции\Введение.html'));
end;

if TreeView1.Items[12].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\3.1.html'));
if TreeView1.Items[13].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\3.2.html'));
if TreeView1.Items[14].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\3.3.html'));
if TreeView1.Items[15].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\3.4.html'));

if TreeView1.Items[16].Selected then form8.show;

if TreeView1.Items[18].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\4.1.html'));
if TreeView1.Items[19].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\4.2.html'));
if TreeView1.Items[20].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\4.3.html'));
if TreeView1.Items[21].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\4.4.html'));
if TreeView1.Items[22].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\4.5.html'));
if TreeView1.Items[23].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\4.6.html'));

if TreeView1.Items[24].Selected then form10.show;

if (TreeView1.Selected<>nil) and
(TreeView1.Selected.Data<>nil) then
begin
//
X := Integer(TreeView1.Selected.Data)-1;
if X>=ActionList.Count then
ShowMessage('Файл поврежден - ActionList.txt')
else
WebBrowser1.Navigate( ActionList.Strings[X]);
end;


if TreeView1.Items[26].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\5.1.html'));
if TreeView1.Items[27].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\5.2.html'));
if TreeView1.Items[28].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\5.3.html'));
if TreeView1.Items[31].Selected then WebBrowser1.Navigate(ExpandFileName ('C:\лекции\6.1.html'));


end;
street-walker вне форума Ответить с цитированием
Старый 17.06.2010, 22:32   #2
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Используйте отладку по шагам и найдите строчку, где вылетает ошибка.
И укажите эту строку здесь. А то кода много.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чём ошибка кода? Richard22 Общие вопросы Delphi 2 16.05.2010 00:27
Ошибка кода при компиляции rubik Общие вопросы C/C++ 0 22.03.2010 19:44
ошибка в логике кода R@Ziel Помощь студентам 2 03.01.2010 16:10
Ошибка при написании ассемблеровского кода на Визе 6.0 Познающий Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 03.11.2009 19:09
Ч чём ошибка моего кода сохранения и загрузки? AngelOfDeath Общие вопросы Delphi 3 08.04.2008 13:55