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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2007, 23:18   #1
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Вопрос Ошибка в процедуре

Здравствуйте уважаемые =)
У меня возникла проблемка ... написал процедуру но в ней коечего не работает ...
Цитата:
procedure PSTRE(rich:Trichedit;text:string);
var
T:TStringList;
i,j:integer;
sml:boolean;
begin
T:=TStringList.create;
t.Text:=stringreplace(text,'[sml]',#10#13,[rfreplaceall,rfignorecase]);
for i:=0 to t.Count-1 do
begin
sml:=false;
for j:=0 to smlcode.Count-1 do
begin
if t[i]=smlcode[j] then begin InsertBitmapToRE(rich.Handle,(FindComponent('image' + inttostr(j)) as Timage).Picture.bitmap.handle ); sml:=true; end;// тут компилятор матерится на FindComponent , говорит нету такой переменной хотя когда этот код в буттонклик он работает
end;
//-- если смайл не вставлен ...
if sml=false then addcoloredword(form1.Rich0,t[i],clred);
end;
end;
smlcode - Заполненный TStringList
nsertBitmapToRE - процедура (handle,handle)
rich - richedit на форме
---

Последний раз редактировалось GAGARIN-NEW; 20.12.2007 в 23:21.
GAGARIN-NEW вне форума Ответить с цитированием
Старый 21.12.2007, 05:14   #2
Aristarh Dark
Форумчанин
 
Регистрация: 07.08.2007
Сообщений: 154
По умолчанию

Потому что:
Код:
procedure PSTRE(rich:Trichedit;text:string);
у тебя не является методом формы, а функция FindComponent - метод формы, следовательно вызывать ее нужно в твоем случае, например, Form1.FindComponent
Aristarh Dark вне форума Ответить с цитированием
Старый 21.12.2007, 09:23   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

+1
А еще мне кажется что Гагарин не учитывает что FindComponent может вернуть nil, в таком случае FindComponent('image' + inttostr(j)) as Timage).Picture заругается и правильно сделает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как реализовать процедуру в процедуре? Аlex Помощь студентам 11 14.07.2008 10:14
Переход к другой процедуре Detka Общие вопросы Delphi 7 13.07.2008 16:50
Вопрос по процедуре VenMaster Общие вопросы Delphi 5 13.06.2008 17:37
как в процедуре объявить массив? kolduev Помощь студентам 7 18.02.2008 23:35