Главная страница
    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.46 MB
Время: 0.062 c
3-1127233408
Galiaf
2005-09-20 20:23
2005.11.06
Поиск в столбце Name.


1-1129709934
maVladimir
2005-10-19 12:18
2005.11.06
Timer. Рестарт.


4-1125398360
Shpil
2005-08-30 14:39
2005.11.06
Получение списка устройств


2-1129221370
kami
2005-10-13 20:36
2005.11.06
Как отладить ActiveX - объект ? (Shell Extension - IQueryInfo)


2-1129269446
Gomez
2005-10-14 09:57
2005.11.06
Форматирование текста при выводе TStringGrid в файл





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский