Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.147 c
14-1129239778
Kerk
2005-10-14 01:42
2005.11.06
Чебурашка


4-1125553929
Ola
2005-09-01 09:52
2005.11.06
Как писать и читать из реестра?


4-1125749990
NikNet
2005-09-03 16:19
2005.11.06
Предворительная проверка процесса!


14-1129345447
Brother
2005-10-15 07:04
2005.11.06
На тему эмуляторов и пр.


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский