Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Подскажите новичку (насчет ТриВью и процедур)   Найти похожие ветки 

 
Perf2k2   (2005-10-14 12:53) [0]

Привет всем.

При создании формы вызываю процедуру:

procedure TfrmMain.FormCreate(Sender: TObject);
begin

 TreeView_DrawElements;

end;


Код TreeView_DrawElements:

procedure TreeView_DrawElements();
begin

 // Создаем древо
 frmMain.TreeView1.Items.Clear;

 frmMain.TreeView1.Items.Add(nil,"Приветствие");
 frmMain.TreeView1.Items.Item[0].ImageIndex:=1;
 frmMain.TreeView1.Items.Item[0].SelectedIndex:=1;
 frmMain.TreeView1.Items.Item[0].StateIndex:=100;

 frmMain.TreeView1.Items.Add(nil,"Дела юридического отдела");
 frmMain.TreeView1.Items.Item[1].StateIndex:=200;
   
   // Вот здесь выдает ошибку Undeclared identifier: "TreeView1" и Missing operator or semicolon
   frmMain.TreeView1.Items.AddChild(TreeView1.Items.Item[1],"В производстве");
   frmMain.TreeView1.Items.Item[2].ImageIndex:=2;
   frmMain.TreeView1.Items.Item[2].SelectedIndex:=2;
   frmMain.TreeView1.Items.Item[2].StateIndex:=210;


Подскажите почему он именно на этой строке ошибку пишет, ведь до этого в процедуре тоже есть ссылка на ТриВью и все нормально.


 
Плохиш ©   (2005-10-14 13:03) [1]


> frmMain.TreeView1.Items.AddChild(TreeView1.Items


 
Perf2k2   (2005-10-14 13:04) [2]

Во блин, это моя невнимательность. Спаисбо.


 
Плохиш ©   (2005-10-14 13:04) [3]

Глюкокод :-(

Сделай TreeView_DrawElements методом формы TfrmMain


 
Digitman ©   (2005-10-14 13:05) [4]

frmMain.TreeView1.Items.AddChild(frmMain.TreeView1.Items.Item[1], "В производстве");

а в целом - код, мягко говоря,  оставляет желать лучшего.


 
Perf2k2   (2005-10-14 13:07) [5]

> а в целом - код, мягко говоря,  оставляет желать лучшего.

Ну так второй день за Делфями, перешал с ВБ :) Подскажите что не так - буду рад перенять опыт профессионалов.

> Сделай TreeView_DrawElements методом формы TfrmMain
А можно по-подробней? Она у меня объявлена в type:

   procedure TreeView1Click(Sender: TObject);
   procedure mnuFileExitClick(Sender: TObject);
   procedure btnSearchClick(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure TreeView_DrawElements();
   procedure cbFIOClick(Sender: TObject);
   procedure cbSKClick(Sender: TObject);
   procedure cbAvtoClick(Sender: TObject);
   procedure BitBtn1Click(Sender: TObject);


 
Плохиш ©   (2005-10-14 13:17) [6]


> Perf2k2   (14.10.05 13:07) [5]
> > Сделай TreeView_DrawElements методом формы TfrmMain
> А можно по-подробней? Она у меня объявлена в type:

Врёшь, в таком случае компилятор говорит, что procedure TreeView_DrawElements(); не имеет реализации. Или строка
procedure TreeView_DrawElements();
выглядит как
procedure TfrmMain.TreeView_DrawElements();

Использование абстрактной переменной frmMain в методах класса является потенциальным местом бага.

PS. Начни программирование в делфи с покупки и прочтения книги по теме.


 
Perf2k2 ©   (2005-10-14 13:36) [7]

>  Врёшь, в таком случае компилятор говорит
Ну в общем да, именно так он и говорил :)

Я поменял как ты указал, вот только теперь он говорит
[Error] Unit1.pas(50): Unsatisfied forward or external declaration: "TfrmMain.TreeView_DrawElements"

Что за потепня... И выдает сообщение Expected "=" but "(" found

   procedure TreeView1Click(Sender: TObject);
   procedure mnuFileExitClick(Sender: TObject);
   procedure btnSearchClick(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure TfrmMain.TreeView_DrawElements();
   procedure cbFIOClick(Sender: TObject);
   procedure cbSKClick(Sender: TObject);
   procedure cbAvtoClick(Sender: TObject);
   procedure BitBtn1Click(Sender: TObject);


 
Digitman ©   (2005-10-14 13:43) [8]


> Perf2k2


я так понимаю, что ты решил сориентироваться в Делфи методом научного тыка ?)


 
Perf2k2 ©   (2005-10-14 14:14) [9]

> я так понимаю, что ты решил сориентироваться в Делфи методом научного тыка ?)
:)) У меня по-другому не получается... Нет, я конечно подчерпнул некие полезные вещи из книги, но вот именно процесс впихивания своих процедур в программу там как-то странно описан )

И вообще по логике вещей он ни на что ругаться не должен. Никаких параметров в функцию передавать не надо, все имена правильно написано. Чего этому Делфи еще нужно для счастья? Вообще после ВБ какой-то очень странный язык :)



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
8-1119343306
Josefina
2005-06-21 12:41
2005.11.06
Проблемы со свуком


14-1129407214
Юрий Зотов
2005-10-16 00:13
2005.11.06
Пропал ребенок.


1-1129704794
Zhekson
2005-10-19 10:53
2005.11.06
Передача параметра


2-1128957890
boo
2005-10-10 19:24
2005.11.06
есть программа, в ней есть окно, в которое выводятся числа от 0


2-1129309971
GTR
2005-10-14 21:12
2005.11.06
Проблемка с записью строк в фаил